version 1.38, 2006/07/05 00:12:37
|
version 1.40, 2006/07/07 16:48:21
|
Line 112 sub handler {
|
Line 112 sub handler {
|
'privileges in this [_2]',$gpterm,lc($crstype))); |
'privileges in this [_2]',$gpterm,lc($crstype))); |
} |
} |
} else { |
} else { |
&print_main_menu($r,$cdom,$cnum,$function,$tabcol,\%functions,\%idx, |
&print_main_menu($r,$cdom,$cnum,\%functions,\%idx,$view_permission, |
$view_permission,$manage_permission,$action,$state, |
$manage_permission,$action,$state,$gpterm,$ucgpterm, |
$rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype); |
$crstype); |
} |
} |
return OK; |
return OK; |
} |
} |
|
|
sub print_main_menu { |
sub print_main_menu { |
my ($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,$view_permission, |
my ($r,$cdom,$cnum,$functions,$idx,$view_permission,$manage_permission, |
$manage_permission,$action,$state,$rowColor1,$rowColor2,$gpterm, |
$action,$state,$gpterm,$ucgpterm,$crstype) = @_; |
$ucgpterm,$crstype) = @_; |
|
my $pagename = "$crstype $ucgpterm".'s'; |
my $pagename = "$crstype $ucgpterm".'s'; |
my $jscript = qq| |
my $jscript = qq| |
function changeSort(caller) { |
function changeSort(caller) { |
document.$state.sortby.value = caller; |
document.$state.sortby.value = caller; |
document.$state.submit(); |
document.$state.submit(); |
}\n|; |
}\n|; |
$r->print(&header($pagename,$jscript,$action,$state, |
$r->print(&header($pagename,$jscript,$action,$state)); |
undef,$function)); |
|
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"/adm/coursegroups", |
({href=>"/adm/coursegroups", |
text=>"$pagename"}); |
text=>"$pagename"}); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs($pagename)); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs($pagename)); |
&display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx, |
&display_groups($r,$cdom,$cnum,$functions,$idx,$view_permission, |
$view_permission,$manage_permission,$action,$state, |
$manage_permission,$action,$state,$gpterm,$ucgpterm, |
$rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype); |
$crstype); |
$r->print(&footer()); |
$r->print(&footer()); |
return; |
return; |
} |
} |
|
|
sub display_groups { |
sub display_groups { |
my ($r,$cdom,$cnum,$function,$tabcol,$functions,$idx,$view_permission, |
my ($r,$cdom,$cnum,$functions,$idx,$view_permission, |
$manage_permission,$action,$state,$rowColor1,$rowColor2,$gpterm, |
$manage_permission,$action,$state,$gpterm,$ucgpterm,$crstype) = @_; |
$ucgpterm,$crstype) = @_; |
|
my %curr_groups = (); |
my %curr_groups = (); |
my %grp_info = (); |
my %grp_info = (); |
my %actionlinks = ( |
my %actionlinks = ( |
Line 188 sub display_groups {
|
Line 185 sub display_groups {
|
$r->print('<br /><a href="/adm/coursegroups?action=create&refpage='.$env{'form.refpage'}.'">'.$lt{'crng'}.'</a>'); |
$r->print('<br /><a href="/adm/coursegroups?action=create&refpage='.$env{'form.refpage'}.'">'.$lt{'crng'}.'</a>'); |
} |
} |
$r->print('<br /><br />'); |
$r->print('<br /><br />'); |
$r->print(&Apache::lonhtmlcommon::start_pick_box()); |
$r->print(&Apache::loncommon::start_data_table(). |
|
&Apache::loncommon::start_data_table_header_row()); |
|
|
$r->print(<<"END"); |
$r->print(<<"END"); |
<table border="0" cellpadding="4" cellspacing="1"> |
<th>$lt{'act'}</th> |
<tr bgcolor="$tabcol" align="center"> |
<th><a href="javascript:changeSort('groupname')">$lt{'gname'}</a></th> |
<td><b>$lt{'act'}</b></td> |
<th><a href="javascript:changeSort('description')">$lt{'desc'}</a></th> |
<td><b><a href="javascript:changeSort('groupname')">$lt{'gname'}</a></b></td> |
<th><a href="javascript:changeSort('creator')">$lt{'crea'}</a></th> |
<td><b><a href="javascript:changeSort('description')">$lt{'desc'}</a></b></td> |
<th><a href="javascript:changeSort('creation')">$lt{'crtd'}</a></th> |
<td><b><a href="javascript:changeSort('creator')">$lt{'crea'}</a></b> |
<th><a href="javascript:changeSort('modified')">$lt{'last'}</a></th> |
</td> |
<th>$lt{'func'}</b></td> |
<td><b><a href="javascript:changeSort('creation')">$lt{'crtd'}</a></b> |
<th><a href="javascript:changeSort('quota')">$lt{'quot'}</a></th> |
</td> |
<th><a href="javascript:changeSort('totalmembers')">$lt{'memb'}</a></th> |
<td><b><a href="javascript:changeSort('modified')">$lt{'last'}</a></b> |
<th><a href="javascript:changeSort('totalfiles')">$lt{'file'}</a></th> |
</td> |
<th><a href="javascript:changeSort('boards')">$lt{'dibd'}</a></th> |
<td><b>$lt{'func'}</b> |
<th><a href="javascript:changeSort('diskuse')">$lt{'dius'}</a></th> |
</td> |
|
<td><b><a href="javascript:changeSort('quota')">$lt{'quot'}</a></b></td> |
|
<td><b><a href="javascript:changeSort('totalmembers')">$lt{'memb'}</a></b></td> |
|
<td><b><a href="javascript:changeSort('totalfiles')">$lt{'file'}</a></b></td> |
|
<td><b><a href="javascript:changeSort('boards')">$lt{'dibd'}</a></b></td> |
|
<td><b><a href="javascript:changeSort('diskuse')">$lt{'dius'}</a></b></td> |
|
</tr> |
|
END |
END |
|
$r->print(&Apache::loncommon::end_data_table_header_row()); |
my %Sortby = (); |
my %Sortby = (); |
foreach my $group (sort(keys(%curr_groups))) { |
foreach my $group (sort(keys(%curr_groups))) { |
%{$grp_info{$group}} = |
%{$grp_info{$group}} = |
Line 259 END
|
Line 252 END
|
push(@{$Sortby{$group}},$group); |
push(@{$Sortby{$group}},$group); |
} |
} |
} |
} |
my $rowNum = 0; |
|
my $rowColor; |
|
foreach my $key (sort(keys(%Sortby))) { |
foreach my $key (sort(keys(%Sortby))) { |
foreach my $group (@{$Sortby{$key}}) { |
foreach my $group (@{$Sortby{$key}}) { |
if ($rowNum %2 == 1) { |
|
$rowColor = $rowColor1; |
|
} else { |
|
$rowColor = $rowColor2; |
|
} |
|
my $description = |
my $description = |
&unescape($grp_info{$group}{'description'}); |
&unescape($grp_info{$group}{'description'}); |
my $creator = $grp_info{$group}{'creator'}; |
my $creator = $grp_info{$group}{'creator'}; |
my $creation = $grp_info{$group}{'creation'}; |
my $creation = $grp_info{$group}{'creation'}; |
my $modified = $grp_info{$group}{'modified'}; |
my $modified = $grp_info{$group}{'modified'}; |
Line 302 END
|
Line 288 END
|
$group.'">'.$lt{'modify'}.'</a>'; |
$group.'">'.$lt{'modify'}.'</a>'; |
} |
} |
} |
} |
$r->print('<tr bgcolor="'.$rowColor.'"><td><small>'.$link.'</small></td><td><small>'.$group.'</small></td><td><small>'.$description.'</small></td><td><small>'.$creator.'</small></td><td><small>'. &Apache::lonnavmaps::timeToHumanString($creation).'</small></td><td><small>'. &Apache::lonnavmaps::timeToHumanString($modified).'</small></td><td><small>'.$functionality.'</small></td><td align="right"><small>'.$quota.'</small></td><td align="right"><small>'.$totalmembers.'</small></td><td align="right"><small><nobr>'.&mt('Files: ').$totalfiles.'</nobr><br /><nobr>'.&mt('Folders: ').$totaldirs.'</nobr></small></td><td align="right"><small>'.$boards.'</small></td><td align="right"><small>'.$diskuse.'</small></td></tr>'); |
$r->print(&Apache::loncommon::start_data_table_row('LC_data_table_dense'). |
$rowNum ++; |
'<td>'.$link.'</td>'. |
|
'<td>'.$group.'</td>'. |
|
'<td>'.$description.'</td>'. |
|
'<td>'.$creator.'</td>'. |
|
'<td>'. &Apache::lonnavmaps::timeToHumanString($creation).'</td>'. |
|
'<td>'. &Apache::lonnavmaps::timeToHumanString($modified).'</td>'. |
|
'<td>'.$functionality.'</td>'. |
|
'<td align="right">'.$quota.'</td>'. |
|
'<td align="right">'.$totalmembers.'</td>'. |
|
'<td align="right"><nobr>'.&mt('Files: ').$totalfiles.'</nobr><br /><nobr>'.&mt('Folders: ').$totaldirs.'</nobr></td>'. |
|
'<td align="right">'.$boards.'</td>'. |
|
'<td align="right">'.$diskuse.'</td>'. |
|
&Apache::loncommon::end_data_table_row()); |
} |
} |
} |
} |
$r->print('</table>'); |
$r->print(&Apache::loncommon::end_data_table()); |
$r->print(&Apache::lonhtmlcommon::end_pick_box()); |
|
$r->print('<input type="hidden" name="refpage" '. |
$r->print('<input type="hidden" name="refpage" '. |
'value="'.$env{'form.refpage'}.'" />'); |
'value="'.$env{'form.refpage'}.'" />'); |
if ($action eq 'view') { |
if ($action eq 'view') { |
Line 817 function changeSort(caller) {
|
Line 814 function changeSort(caller) {
|
my $loaditems = &onload_action($action,$state); |
my $loaditems = &onload_action($action,$state); |
my $crumbtitle = "$crstype $ucgpterm".'s'; |
my $crumbtitle = "$crstype $ucgpterm".'s'; |
$r->print(&header("$crumbtitle Manager", |
$r->print(&header("$crumbtitle Manager", |
$jscript,$action,$state,$page,$function,$loaditems)); |
$jscript,$action,$state,$page,$loaditems)); |
|
|
if ($env{'form.refpage'} eq 'enrl') { |
if ($env{'form.refpage'} eq 'enrl') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
Line 895 function changeSort(caller) {
|
Line 892 function changeSort(caller) {
|
my $crumbtitle = "$crstype $ucgpterm".'s Manager'; |
my $crumbtitle = "$crstype $ucgpterm".'s Manager'; |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
$r->print(&Apache::lonhtmlcommon::breadcrumbs |
(&mt($crumbtitle))); |
(&mt($crumbtitle))); |
&display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx, |
&display_groups($r,$cdom,$cnum,$functions,$idx,$view_permission, |
$view_permission,$manage_permission,$action,$state, |
$manage_permission,$action,$state,$gpterm,$ucgpterm, |
$rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype); |
$crstype); |
|
|
} |
} |
$r->print(&footer()); |
$r->print(&footer()); |
Line 1002 sub display_control {
|
Line 999 sub display_control {
|
} elsif ($action eq 'modify') { |
} elsif ($action eq 'modify') { |
my $groupname = $env{'form.groupname'}; |
my $groupname = $env{'form.groupname'}; |
if ($state eq 'pick_group') { |
if ($state eq 'pick_group') { |
&display_groups($r,$cdom,$cnum,$function,$tabcol,$functions,$idx, |
&display_groups($r,$cdom,$cnum,$functions,$idx,$view_permission, |
$view_permission,$manage_permission,$action,$state, |
$manage_permission,$action,$state,$gpterm, |
$rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype); |
$ucgpterm,$crstype); |
} elsif ($state eq 'pick_task') { |
} elsif ($state eq 'pick_task') { |
&modify_menu($r,$groupname,$page,$gpterm); |
&modify_menu($r,$groupname,$page,$gpterm); |
} elsif ($state eq 'change_settings') { |
} elsif ($state eq 'change_settings') { |
Line 1060 sub display_control {
|
Line 1057 sub display_control {
|
} |
} |
|
|
sub header { |
sub header { |
my ($bodytitle,$jscript,$action,$state,$page,$function,$loaditems) = @_; |
my ($bodytitle,$jscript,$action,$state,$page,$loaditems) = @_; |
my $start_page= |
my $start_page= |
&Apache::loncommon::start_page($bodytitle, |
&Apache::loncommon::start_page($bodytitle, |
'<script type="text/javascript">'. |
'<script type="text/javascript">'. |
$jscript.'</script>', |
$jscript.'</script>', |
{'function' => $function, |
{'add_entries' => $loaditems,}); |
'add_entries' => $loaditems,}); |
|
my $output = <<"END"; |
my $output = <<"END"; |
$start_page |
$start_page |
<form method="POST" name="$state"> |
<form method="POST" name="$state"> |
Line 1186 sub general_settings_form {
|
Line 1182 sub general_settings_form {
|
$toolprivs,$fixedprivs,$sectioncount,$stored,$states,$navbuttons, |
$toolprivs,$fixedprivs,$sectioncount,$stored,$states,$navbuttons, |
$rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype) = @_; |
$rowColor1,$rowColor2,$gpterm,$ucgpterm,$crstype) = @_; |
my ($nexttext,$prevtext); |
my ($nexttext,$prevtext); |
$r->print(' <br /> |
|
<table width="100%" cellpadding="0" cellspacing="0" border="0"> |
|
'); |
|
&groupsettings_options($r,$tabcol,$functions,$action,$formname,$stored,1, |
&groupsettings_options($r,$tabcol,$functions,$action,$formname,$stored,1, |
$gpterm,$ucgpterm,$crstype); |
$gpterm,$ucgpterm,$crstype); |
$r->print(' |
|
<tr> |
|
<td colspan="4"> </td> |
|
</tr>'); |
|
&access_date_settings($r,$tabcol,$action,$formname,$stored,2,$gpterm, |
&access_date_settings($r,$tabcol,$action,$formname,$stored,2,$gpterm, |
$ucgpterm); |
$ucgpterm); |
$r->print(' |
|
<tr> |
|
<td colspan="4"> </td> |
|
</tr>'); |
|
if ($action eq 'create') { |
if ($action eq 'create') { |
&membership_options($r,$action,$formname,$tabcol,$sectioncount,3, |
&membership_options($r,$action,$formname,$sectioncount,3,$gpterm, |
$gpterm,$ucgpterm); |
$ucgpterm); |
$nexttext = $$navbuttons{'gtns'}; |
$nexttext = $$navbuttons{'gtns'}; |
} else { |
} else { |
my @available = (); |
my @available = (); |
Line 1213 sub general_settings_form {
|
Line 1198 sub general_settings_form {
|
&privilege_specificity($r,$tabcol,$rowColor1,$rowColor2,$action, |
&privilege_specificity($r,$tabcol,$rowColor1,$rowColor2,$action, |
3,$tools,$stored,$toolprivs,$fixedprivs, |
3,$tools,$stored,$toolprivs,$fixedprivs, |
\@available,$formname,$gpterm,$ucgpterm); |
\@available,$formname,$gpterm,$ucgpterm); |
$r->print(' |
|
<tr> |
|
<td colspan="4"> </td> |
|
</tr>'); |
|
&mapping_options($r,$action,$formname,$page,$tabcol,$sectioncount, |
&mapping_options($r,$action,$formname,$page,$tabcol,$sectioncount, |
$states,$stored,$navbuttons,4,5,$rowColor1, |
$states,$stored,$navbuttons,4,5,$rowColor1, |
$rowColor2,$gpterm,$ucgpterm,$crstype); |
$rowColor2,$gpterm,$ucgpterm,$crstype); |
Line 1225 sub general_settings_form {
|
Line 1206 sub general_settings_form {
|
$prevtext = $$navbuttons{'gtpp'}; |
$prevtext = $$navbuttons{'gtpp'}; |
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, |
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, |
$$states{$action}[$page+1],$nexttext); |
$$states{$action}[$page+1],$nexttext); |
$r->print(' |
|
</table>'); |
|
return; |
return; |
} |
} |
|
|
Line 1245 sub groupsettings_options {
|
Line 1224 sub groupsettings_options {
|
"to different $gpterm members?", |
"to different $gpterm members?", |
); |
); |
my ($crsquota,$freespace,$maxposs) = &get_quota_constraints($action,$stored); |
my ($crsquota,$freespace,$maxposs) = &get_quota_constraints($action,$stored); |
&topic_bar($r,$tabcol,$image,$lt{'gnde'}); |
&topic_bar($r,$image,$lt{'gnde'}); |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td> </td> |
<td> </td> |
Line 1362 sub get_quota_constraints {
|
Line 1341 sub get_quota_constraints {
|
} |
} |
|
|
sub membership_options { |
sub membership_options { |
my ($r,$action,$state,$tabcol,$sectioncount,$image,$gpterm,$ucgpterm) = @_; |
my ($r,$action,$state,$sectioncount,$image,$gpterm,$ucgpterm) = @_; |
my $crstype = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
'pipa' => 'Pick parameters to generate membership list', |
'pipa' => 'Pick parameters to generate membership list', |
Line 1389 sub membership_options {
|
Line 1368 sub membership_options {
|
|
|
my @sections = keys(%{$sectioncount}); |
my @sections = keys(%{$sectioncount}); |
|
|
&topic_bar($r,$tabcol,$image,$lt{'pipa'}); |
&topic_bar($r,$image,$lt{'pipa'}); |
$r->print(' |
$r->print(' |
<tr> |
<b>'.$lt{'gmem'}.'</b><br />'.$lt{'picr'}); |
<td> </td> |
|
<td colspan="3"> |
|
<b>'.$lt{'gmem'}.'</b><br/>'.$lt{'picr'}); |
|
if ($action eq 'create') { |
if ($action eq 'create') { |
$r->print($lt{'meof'}.'<br />'.$lt{'ifno'}.'<br />'.$lt{'asub'}); |
$r->print($lt{'meof'}.'<br />'.$lt{'ifno'}.'<br />'.$lt{'asub'}); |
} else { |
} else { |
Line 1403 sub membership_options {
|
Line 1379 sub membership_options {
|
$r->print(' |
$r->print(' |
<br /> |
<br /> |
<br /> |
<br /> |
<table border="0"> |
<table class="LC_status_selector"> |
<tr> |
<tr> |
<td><b>'.$lt{'acty'}.'</b></td> |
<th>'.$lt{'acty'}.'</th> |
<td> </td> |
<th>'.$lt{'coro'}.'</th>'); |
<td><b>'.$lt{'coro'}.'</b></td>'); |
|
if (@sections >0) { |
if (@sections >0) { |
$r->print(' |
$r->print(' |
<td> </td> |
<th>'.$lt{'cose'}.'</th>'); |
<td><b>'.$lt{'cose'}.'</b></td> |
|
<td> </td>'); |
|
} |
} |
$r->print('</tr><tr>'); |
$r->print('</tr><tr><td>'); |
$r->print(&Apache::lonhtmlcommon::status_select_row(\%status_types)); |
$r->print(&Apache::lonhtmlcommon::status_select_row(\%status_types)); |
$r->print('<td> </td>'); |
$r->print('</td><td>'); |
$r->print(&Apache::lonhtmlcommon::role_select_row(\@roles)); |
$r->print(&Apache::lonhtmlcommon::role_select_row(\@roles)); |
if (@sections > 0) { |
if (@sections > 0) { |
@sections = sort {$a cmp $b} @sections; |
@sections = sort {$a cmp $b} @sections; |
unshift(@sections,'none'); # Put 'no sections' next |
unshift(@sections,'none'); # Put 'no sections' next |
unshift(@sections,'all'); # Put 'all' at the front of the list |
unshift(@sections,'all'); # Put 'all' at the front of the list |
$r->print('<td> </td> |
$r->print('</td><td>'. |
<td colspan="3" align="center" valign="top">'. |
|
§ions_selection(\@sections,'sectionpick').'</td>'); |
§ions_selection(\@sections,'sectionpick').'</td>'); |
} |
} |
$r->print(' |
$r->print(' |
</tr> |
</tr> |
</table> |
</table>'); |
</td> |
|
</tr>'); |
|
return; |
return; |
} |
} |
|
|
Line 1472 sub access_date_settings {
|
Line 1442 sub access_date_settings {
|
} |
} |
my ($start_table,$end_table) = &date_setting_table |
my ($start_table,$end_table) = &date_setting_table |
($starttime,$endtime,$formname); |
($starttime,$endtime,$formname); |
&topic_bar($r,$tabcol,$image,$lt{'sten'}); |
&topic_bar($r,$image,$lt{'sten'}); |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td> </td> |
<td> </td> |
Line 1501 sub choose_members_form {
|
Line 1471 sub choose_members_form {
|
\@regexps)); |
\@regexps)); |
my $earlyout = &validate_groupname($groupname,$action,$cdom,$cnum,$gpterm, |
my $earlyout = &validate_groupname($groupname,$action,$cdom,$cnum,$gpterm, |
$ucgpterm,$crstype); |
$ucgpterm,$crstype); |
$r->print(' |
|
<table width="100%" cellpadding="0" cellspacing="0" border="0"> |
|
<tr> |
|
<td> </td> |
|
<td colspan="3"> |
|
'); |
|
if ($earlyout) { |
if ($earlyout) { |
$r->print($earlyout.'</td></tr>'); |
|
&display_navbuttons($r,$formname,$$states{$action}[$page-1], |
&display_navbuttons($r,$formname,$$states{$action}[$page-1], |
$$navbuttons{'gtps'}); |
$$navbuttons{'gtps'}); |
$r->print('</table>'); |
|
return; |
return; |
} |
} |
my ($specimg,$memimg); |
my ($specimg,$memimg); |
Line 1519 sub choose_members_form {
|
Line 1481 sub choose_members_form {
|
my @unavailable = (); |
my @unavailable = (); |
&check_tools($functions,$tools,\@available,\@unavailable); |
&check_tools($functions,$tools,\@available,\@unavailable); |
if ($action eq 'create') { |
if ($action eq 'create') { |
&print_current_settings($r,$action,$tabcol,$rowColor1,$rowColor2, |
&print_current_settings($r,$action,$functions,$startdate,$enddate, |
$functions,$startdate,$enddate,$groupname, |
$groupname,$description,$granularity,$quota, |
$description,$granularity,$quota,\@available, |
\@available,\@unavailable,$gpterm,$ucgpterm); |
\@unavailable,$gpterm,$ucgpterm); |
|
$specimg = 4; |
$specimg = 4; |
$memimg = 5; |
$memimg = 5; |
} else { |
} else { |
Line 1557 sub choose_members_form {
|
Line 1518 sub choose_members_form {
|
&display_navbuttons($r,$formname,$$states{$action}[$page-1], |
&display_navbuttons($r,$formname,$$states{$action}[$page-1], |
$$navbuttons{'gtps'}); |
$$navbuttons{'gtps'}); |
} |
} |
$r->print('</table>'); |
|
return; |
return; |
} |
} |
|
|
Line 1600 sub check_tools {
|
Line 1560 sub check_tools {
|
} |
} |
|
|
sub print_current_settings { |
sub print_current_settings { |
my ($r,$action,$tabcol,$rowColor1,$rowColor2,$functions,$startdate,$enddate, |
my ($r,$action,$functions,$startdate,$enddate,$groupname,$description, |
$groupname,$description,$granularity,$quota,$available,$unavailable, |
$granularity,$quota,$available,$unavailable,$gpterm,$ucgpterm) = @_; |
$gpterm,$ucgpterm) = @_; |
|
|
|
my %lt = &Apache::lonlocal::texthash( |
my %lt = &Apache::lonlocal::texthash( |
grna => "$ucgpterm Name", |
grna => "$ucgpterm Name", |
Line 1624 sub print_current_settings {
|
Line 1583 sub print_current_settings {
|
} else { |
} else { |
$showend = &Apache::lonlocal::locallocaltime($enddate); |
$showend = &Apache::lonlocal::locallocaltime($enddate); |
} |
} |
$r->print('<table border="0" cellpadding="0" cellspacing="20">'); |
|
if ($action eq 'create') { |
if ($action eq 'create') { |
$r->print(' |
$r->print(' |
<tr> |
<div><span>'.$lt{'ygrs'}.'</span> |
<td><font face="arial,helvetica,sans-serif"><b>'.$lt{'ygrs'}.'</b></font> |
|
<br />'.$lt{'tfwa'}.' |
<br />'.$lt{'tfwa'}.' |
</td> |
</div>'); |
</tr>'); |
|
} |
} |
$r->print('<tr><td>'); |
$r->print(&Apache::loncommon::start_data_table('LC_course_group_status'). |
$r->print(&Apache::lonhtmlcommon::start_pick_box()); |
&Apache::loncommon::start_data_table_header_row()); |
$r->print(' |
$r->print(' |
<tr> |
<th>'.$lt{'grna'}.'</th> |
<td> |
<th>'.$lt{'desc'}.'</th> |
<table cellspacing="1" cellpadding="4"> |
<th>'.$lt{'grfn'}.'</th> |
<tr bgcolor="'.$tabcol.'" align="center"> |
<th>'.$lt{'gran'}.'</th> |
<td><b>'.$lt{'grna'}.'</b></td> |
<th>'.$lt{'quot'}.'</th> |
<td><b>'.$lt{'desc'}.'</b></td> |
<th>'.$lt{'dfac'}.'</th> |
<td><b>'.$lt{'grfn'}.'</b></td> |
'); |
<td><b>'.$lt{'gran'}.'</b></td> |
$r->print(&Apache::loncommon::end_data_table_header_row(). |
<td><b>'.$lt{'quot'}.'</b></td> |
&Apache::loncommon::start_data_table_row('LC_data_table_dense')); |
<td><b>'.$lt{'dfac'}.'</b></td> |
$r->print(' |
</tr> |
<td valign="top">'.$groupname.'</td> |
<tr bgcolor="'.$rowColor2.'"> |
<td valign="top">'.$description.'</td> |
<td valign="top"><small>'.$groupname.'</small></td> |
|
<td valign="top"><small>'.$description.'</small></td> |
|
<td> |
<td> |
'); |
'); |
if (@{$available} > 0) { |
if (@{$available} > 0) { |
$r->print('<small><b>Available:</b></small> |
$r->print('<b>Available:</b> |
<table cellpadding="" cellspacing="1"><tr>'); |
<table cellpadding="" cellspacing="1"><tr>'); |
my $rowcell = int(@{$available}/2) + @{$available}%2; |
my $rowcell = int(@{$available}/2) + @{$available}%2; |
for (my $i=0; $i<@{$available}; $i++) { |
for (my $i=0; $i<@{$available}; $i++) { |
Line 1662 sub print_current_settings {
|
Line 1616 sub print_current_settings {
|
$r->print('</tr><tr>'); |
$r->print('</tr><tr>'); |
} |
} |
} |
} |
$r->print('<td><small>'.$$functions{$$available[$i]}. |
$r->print('<td>'.$$functions{$$available[$i]}. |
'</small></td><td> </td>'); |
'</td><td> </td>'); |
} |
} |
if ((@{$available} > 3) && (@{$available}%2)) { |
if ((@{$available} > 3) && (@{$available}%2)) { |
$r->print('<td> </td><td> </td>'); |
$r->print('<td> </td><td> </td>'); |
Line 1671 sub print_current_settings {
|
Line 1625 sub print_current_settings {
|
$r->print('</tr></table><br />'); |
$r->print('</tr></table><br />'); |
} |
} |
if (@{$unavailable} > 0) { |
if (@{$unavailable} > 0) { |
$r->print('<small><b>Unavailable:</b></small> |
$r->print('<b>Unavailable:</b> |
<table cellpadding="0" cellspacing="1" border="0"><tr>'); |
<table cellpadding="0" cellspacing="1" border="0"><tr>'); |
my $rowcell = int(@{$unavailable}/2) + @{$unavailable}%2; |
my $rowcell = int(@{$unavailable}/2) + @{$unavailable}%2; |
for (my $j=0; $j<@{$unavailable}; $j++) { |
for (my $j=0; $j<@{$unavailable}; $j++) { |
Line 1680 sub print_current_settings {
|
Line 1634 sub print_current_settings {
|
$r->print('</tr><tr>'); |
$r->print('</tr><tr>'); |
} |
} |
} |
} |
$r->print('<td><small>'.$$functions{$$unavailable[$j]}. |
$r->print('<td>'.$$functions{$$unavailable[$j]}. |
'</small></td><td> </td>'); |
'</td><td> </td>'); |
} |
} |
if ((@{$unavailable} > 3) && (@{$unavailable}%2)) { |
if ((@{$unavailable} > 3) && (@{$unavailable}%2)) { |
$r->print('<td> </td><td> </td>'); |
$r->print('<td> </td><td> </td>'); |
Line 1690 sub print_current_settings {
|
Line 1644 sub print_current_settings {
|
} |
} |
$r->print(<<"END"); |
$r->print(<<"END"); |
</td> |
</td> |
<td valign="top"><small><b>$lt{'difn'} |
<td valign="top"><b>$lt{'difn'}</b> $granularity</td> |
</b> $granularity</small></td> |
<td valign="top">$quota Mb</td> |
<td valign="top"><small>$quota Mb</small></td> |
<td valign="top"><b>$lt{'stda'}</b> $showstart<br /> |
<td valign="top"><small><b>$lt{'stda'}</b> $showstart<br /> |
<b>$lt{'enda'}</b> $showend |
<b>$lt{'enda'}</b> $showend</small> |
|
</td> |
</td> |
</tr> |
|
</table> |
|
</td> |
|
</tr> |
|
END |
END |
$r->print(&Apache::lonhtmlcommon::end_pick_box()); |
$r->print(&Apache::loncommon::end_data_table_row(). |
$r->print('</td></tr></table><br />'); |
&Apache::loncommon::end_data_table()); |
return; |
return; |
} |
} |
|
|
Line 1745 sub pick_new_members {
|
Line 1694 sub pick_new_members {
|
$r->print(&check_uncheck_tools($r,$available)); |
$r->print(&check_uncheck_tools($r,$available)); |
} |
} |
} |
} |
&topic_bar($r,$tabcol,$img,$lt{'gpme'}); |
&topic_bar($r,$img,$lt{'gpme'}); |
if (keys(%members) > 0) { |
if (keys(%members) > 0) { |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
Line 1921 sub privilege_specificity {
|
Line 1870 sub privilege_specificity {
|
} |
} |
} |
} |
} |
} |
&topic_bar($r,$tabcol,$img,$lt{'uprv'}); |
&topic_bar($r,$img,$lt{'uprv'}); |
$r->print(' |
|
<tr> |
|
<td> </td> |
|
<td colspan="3"> |
|
'); |
|
if ((($action eq 'create') && (@{$available} > 0)) || |
if ((($action eq 'create') && (@{$available} > 0)) || |
(($action eq 'modify') && ($formname eq 'change_settings'))) { |
(($action eq 'modify') && ($formname eq 'change_settings'))) { |
my %specific = ( |
my %specific = ( |
Line 1952 sub privilege_specificity {
|
Line 1896 sub privilege_specificity {
|
} |
} |
if ($totaloptionalprivs) { |
if ($totaloptionalprivs) { |
$r->print(' |
$r->print(' |
<br /><br /><label><nobr><input type="radio" name="specificity" value="No" '.$specific{'No'}.' /> '.$lt{'algm'}.'</nobr></label><br/> |
<br /><br /> |
<label><nobr><input type="radio" name="specificity" value="Yes" '.$specific{'Yes'}.' /> '.$lt{'smgp'}.'</nobr></label> |
<label><nobr><input type="radio" name="specificity" value="No" '.$specific{'No'}.' /> '.$lt{'algm'}.'</nobr></label><br /> |
</td> |
<label><nobr><input type="radio" name="specificity" value="Yes" '.$specific{'Yes'}.' /> '.$lt{'smgp'}.'</nobr></label>'); |
</tr> |
|
<tr> |
|
<td colspan="4"> </td> |
|
</tr>'); |
|
} else { |
} else { |
$r->print('<input type="hidden" name="specificity" value="No" />'); |
$r->print('<input type="hidden" name="specificity" value="No" />'); |
} |
} |
if ($totaloptionalprivs) { |
if ($totaloptionalprivs) { |
$r->print(' |
$r->print($lt{'plin'}); |
<tr> |
|
<td> </td> |
|
<td colspan="3">'.$lt{'plin'}); |
|
if ($action eq 'create') { |
if ($action eq 'create') { |
$r->print(' '.$lt{'thwi'}); |
$r->print(' '.$lt{'thwi'}); |
} |
} |
Line 1977 sub privilege_specificity {
|
Line 1914 sub privilege_specificity {
|
$r->print('('.&mt('if enabled below').').'); |
$r->print('('.&mt('if enabled below').').'); |
} |
} |
$r->print('<br /><br /> |
$r->print('<br /><br /> |
</td> |
<table><tr>'); |
</tr> |
|
<tr> |
|
<td> </td> |
|
<td colspan="2"><table><tr>'); |
|
&check_uncheck_buttons($r,$formname,'defpriv',$lt{'oppr'}); |
&check_uncheck_buttons($r,$formname,'defpriv',$lt{'oppr'}); |
$r->print(' |
$r->print(' |
</tr> |
</tr> |
</table> |
</table> |
</td> |
|
<td width="100%"> </td> |
|
</tr><tr> |
|
<td> </td> |
|
<td colspan="3"> |
|
<br /> |
<br /> |
'); |
'); |
} else { |
} else { |
$r->print('<tr><td> </td><td colspan="3">'.$lt{'algm'}.'<br /><br />'); |
$r->print($lt{'algm'}.'<br /><br />'); |
} |
} |
&default_privileges($r,$action,$tabcol,$rowColor1,$rowColor2, |
&default_privileges($r,$action,$tabcol,$rowColor1,$rowColor2, |
$tools,$toolprivs,$fixedprivs,$available); |
$tools,$toolprivs,$fixedprivs,$available); |
Line 2017 sub privilege_specificity {
|
Line 1945 sub privilege_specificity {
|
$toolprivs,\@defprivs); |
$toolprivs,\@defprivs); |
} |
} |
} |
} |
$r->print(' |
|
</td> |
|
</tr> |
|
'); |
|
return; |
return; |
} |
} |
|
|
Line 2193 sub change_members_form {
|
Line 2117 sub change_members_form {
|
<br /> |
<br /> |
<table width="100%" cellpadding="0" cellspacing="0" border="0"> |
<table width="100%" cellpadding="0" cellspacing="0" border="0"> |
'); |
'); |
&topic_bar($r,$tabcol,1,$lt{'grse'}); |
&topic_bar($r,1,$lt{'grse'}); |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td> </td> |
<td> </td> |
<td colspan="3"> |
<td colspan="3"> |
'); |
'); |
&print_current_settings($r,$action,$tabcol,$rowColor1,$rowColor2, |
&print_current_settings($r,$action,$functions,$startdate,$enddate, |
$functions,$startdate,$enddate,$groupname, |
$groupname,$description,$granularity,$quota, |
$description,$granularity,$quota,\@available, |
\@available,\@unavailable,$gpterm,$ucgpterm); |
\@unavailable,$gpterm,$ucgpterm); |
|
$r->print(' |
$r->print(' |
</td></tr><tr><td colspan="4"> </td></tr>'); |
</td></tr><tr><td colspan="4"> </td></tr>'); |
&topic_bar($r,$tabcol,2,$lt{'mogm'}); |
&topic_bar($r,2,$lt{'mogm'}); |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td> </td> |
<td> </td> |
Line 2478 sub change_privs_form {
|
Line 2401 sub change_privs_form {
|
$nexttext = $$navbuttons{'mose'}; |
$nexttext = $$navbuttons{'mose'}; |
} |
} |
$r->print('<br /><table width="100%" cellpadding="0" cellspacing="0" border="0">'); |
$r->print('<br /><table width="100%" cellpadding="0" cellspacing="0" border="0">'); |
&topic_bar($r,$tabcol,3,&mt('Members to delete or expire')); |
&topic_bar($r,3,&mt('Members to delete or expire')); |
my $exp_or_del = 0; |
my $exp_or_del = 0; |
if (ref($$memchg{'deletion'}) eq 'ARRAY') { |
if (ref($$memchg{'deletion'}) eq 'ARRAY') { |
if (@{$$memchg{'deletion'}} > 0) { |
if (@{$$memchg{'deletion'}} > 0) { |
Line 2507 sub change_privs_form {
|
Line 2430 sub change_privs_form {
|
'</td></tr><tr><td colspan="4"> </td></tr>'); |
'</td></tr><tr><td colspan="4"> </td></tr>'); |
} |
} |
|
|
&topic_bar($r,$tabcol,4,&mt('[_1] member privileges',$ucgpterm)); |
&topic_bar($r,4,&mt('[_1] member privileges',$ucgpterm)); |
|
|
my $numchgs = &member_privileges_form($r,$tabcol,$action,$formname,$tools, |
my $numchgs = &member_privileges_form($r,$tabcol,$action,$formname,$tools, |
$toolprivs,$fixedprivs,$userdata, |
$toolprivs,$fixedprivs,$userdata, |
Line 2530 sub add_members_form {
|
Line 2453 sub add_members_form {
|
my ($r,$tabcol,$action,$formname,$page,$startdate,$enddate,$groupname, |
my ($r,$tabcol,$action,$formname,$page,$startdate,$enddate,$groupname, |
$description,$granularity,$quota,$sectioncount,$tools,$functions, |
$description,$granularity,$quota,$sectioncount,$tools,$functions, |
$stored,$states,$navbuttons,$rowColor1,$rowColor2,$gpterm,$ucgpterm)=@_; |
$stored,$states,$navbuttons,$rowColor1,$rowColor2,$gpterm,$ucgpterm)=@_; |
$r->print(' <br /> |
$r->print(' <br />'); |
<table width="100%" cellpadding="0" cellspacing="0" border="0"> |
|
<tr> |
|
<td> </td> |
|
<td colspan="3"> |
|
'); |
|
my @available = (); |
my @available = (); |
my @unavailable = (); |
my @unavailable = (); |
&check_tools($functions,$tools,\@available,\@unavailable); |
&check_tools($functions,$tools,\@available,\@unavailable); |
&print_current_settings($r,$action,$tabcol,$rowColor1,$rowColor2, |
&print_current_settings($r,$action,$functions,$startdate,$enddate, |
$functions,$startdate,$enddate,$groupname, |
$groupname,$description,$granularity,$quota, |
$description,$granularity,$quota,\@available, |
\@available,\@unavailable,$gpterm,$ucgpterm); |
\@unavailable,$gpterm,$ucgpterm); |
&membership_options($r,$action,$formname,$sectioncount,1,$gpterm,$ucgpterm); |
$r->print(' |
|
</td> |
|
</tr> |
|
<tr> |
|
<td colspan="4"> </td> |
|
</tr>'); |
|
|
|
&membership_options($r,$action,$formname,$tabcol,$sectioncount,1,$gpterm, |
|
$ucgpterm); |
|
my $nexttext = $$navbuttons{'gtns'}; |
my $nexttext = $$navbuttons{'gtns'}; |
my $prevtext = $$navbuttons{'gtpp'}; |
my $prevtext = $$navbuttons{'gtpp'}; |
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, |
&display_navbuttons($r,$formname,$$states{$action}[$page-1],$prevtext, |
$$states{$action}[$page+1],$nexttext); |
$$states{$action}[$page+1],$nexttext); |
$r->print(' |
|
</table>'); |
|
return; |
return; |
} |
} |
|
|
Line 2583 sub choose_privs_form {
|
Line 2490 sub choose_privs_form {
|
} |
} |
|
|
$r->print('<br /><table width="100%" cellpadding="0" cellspacing="0" border="0">'); |
$r->print('<br /><table width="100%" cellpadding="0" cellspacing="0" border="0">'); |
&topic_bar($r,$tabcol,6,&mt('[_1] member privileges',$ucgpterm)); |
&topic_bar($r,6,&mt('[_1] member privileges',$ucgpterm)); |
|
|
&member_privileges_form($r,$tabcol,$action,$formname,$tools,$toolprivs, |
&member_privileges_form($r,$tabcol,$action,$formname,$tools,$toolprivs, |
$fixedprivs,$userdata,$usertools,$idx,undef, |
$fixedprivs,$userdata,$usertools,$idx,undef, |
Line 3275 sub automapping {
|
Line 3182 sub automapping {
|
if (exists($$stored{'autodrop'})) { |
if (exists($$stored{'autodrop'})) { |
$drop = $$stored{'autodrop'}; |
$drop = $$stored{'autodrop'}; |
} |
} |
&topic_bar($r,$tabcol,$image,$$lt{'endi'}); |
&topic_bar($r,$image,$$lt{'endi'}); |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td> </td> |
<td> </td> |
Line 3329 sub mapping_settings {
|
Line 3236 sub mapping_settings {
|
unshift(@sections,'none'); # Put 'no sections' next |
unshift(@sections,'none'); # Put 'no sections' next |
unshift(@sections,'all'); # Put 'all' at the front of the list |
unshift(@sections,'all'); # Put 'all' at the front of the list |
} |
} |
&topic_bar($r,$tabcol,$image,$$lt{'pirs'}); |
&topic_bar($r,$image,$$lt{'pirs'}); |
$r->print(' |
$r->print(' |
<tr> |
<tr> |
<td> </td> |
<td> </td> |
Line 3792 sub validate_groupname {
|
Line 3699 sub validate_groupname {
|
} |
} |
|
|
sub topic_bar { |
sub topic_bar { |
my ($r,$tabcol,$imgnum,$title) = @_; |
my ($r,$imgnum,$title) = @_; |
$r->print(' |
$r->print(' |
<tr bgcolor="'.$tabcol.'"> |
<div class="LC_topic_bar"> |
<td> </td> |
<img src="/res/adm/pages/bl_step'.$imgnum.'.gif" /> |
<td valign="middle" align="left"> |
<span>'.$title.'<span> |
<nobr> |
</div> |
<img src="/res/adm/pages/bl_step'.$imgnum.'.gif" valign="middle"> |
|
</nobr> |
|
</td> |
|
<th align="left"><nobr>'.$title.'<nobr> |
|
</th> |
|
<td width="100%"> </td> |
|
</tr> |
|
<tr> |
|
<td colspan="4"> </td> |
|
</tr> |
|
'); |
'); |
return; |
return; |
} |
} |