--- loncom/interface/loncoursegroups.pm 2006/02/21 18:56:00 1.6
+++ loncom/interface/loncoursegroups.pm 2006/02/23 17:23:09 1.8
@@ -145,14 +145,20 @@ sub display_groups {
file => 'Files',
dibd => 'Discussion Boards',
dius => 'Disk Use',
- );
- $r->print(' ');
+ nogr => 'No groups exist.',
+ crng => 'Create a new group',
+ alth => 'Although your current role has privileges'.
+ ' to view any existing groups in this course,'.
+ ' you do not have privileges to create new'.
+ ' groups.',
+ );
if ($view_permission) {
if (!defined($action)) {
$action = 'view';
}
my %curr_groups;
if (&Apache::loncommon::coursegroups(\%curr_groups,$cdom,$cnum)) {
+ $r->print(' ');
$r->print(&Apache::lonhtmlcommon::start_pick_box());
$r->print(<<"END");
@@ -251,11 +257,18 @@ END
$r->print('
');
$r->print(&Apache::lonhtmlcommon::end_pick_box());
} else {
- $r->print('No groups exist');
+ $r->print($lt{'nogr'});
+ if ($manage_permission) {
+ $r->print(''.$lt{'crng'}.' ');
+ } else {
+ $r->print(' '.$lt{'crng'});
+
+ }
}
} else {
my @coursegroups = split(/:/,$env{'request.course.groups'});
if (@coursegroups > 0) {
+ $r->print(' ');
my %curr_groups;
if (&Apache::loncommon::coursegroups(\%curr_groups,$cdom,$cnum)) {
foreach my $group (@coursegroups) {
@@ -473,6 +486,9 @@ sub group_administration {
}
if ($state eq 'pick_members') {
if ((keys(%users) > 0) && (@tools > 0)) {
+ if ($granularity eq 'Yes') {
+ $elements{$action}{'pick_members'}{'togglefunc'} = 'checkbox';
+ }
foreach my $tool (@tools) {
if ($granularity eq 'Yes') {
$elements{$action}{'pick_members'}{'user_'.$tool} = 'checkbox';
@@ -527,6 +543,9 @@ sub group_administration {
$elements{$action}{'change_members'}{'reenable'} = 'checkbox';
}
if ($numusers) {
+ if ($granularity eq 'Yes') {
+ $elements{$action}{'change_members'}{'togglefunc'} = 'checkbox';
+ }
foreach my $tool (@tools) {
if ($granularity eq 'Yes') {
$elements{$action}{'change_members'}{'user_'.$tool} = 'checkbox';
@@ -763,7 +782,7 @@ function changeSort(caller) {
\@sections,\%states,\%navbuttons,$rowColor1,$rowColor2);
last;
} else {
- if (($state =~ /^\w+result$/) && ($i > 0)) {
+ if (($state eq 'result') && ($i > 0)) {
&Apache::lonhtmlcommon::add_breadcrumb(
{href=>"javascript:backPage(document.$state,'$states{$action}[0]')",
text=>"$trail{$action}{$states{$action}[$i]}"});
@@ -971,7 +990,8 @@ sub onload_action {
}
if (($action eq 'modify') &&
($state eq 'change_settings' || $state eq 'change_members' ||
- $state eq 'change_privs') || $state eq 'add_members') {
+ $state eq 'change_privs' || $state eq 'add_members' ||
+ $state eq 'pick_members')) {
$loaditems =
'onload="javascript:setFormElements(document.'.$state.')"';
}
@@ -1136,18 +1156,18 @@ END
}
my @allfunctions = sort(keys (%{$functions}));
for (my $i=0; $i<$halfnum; $i++) {
- $r->print(' '.
- $$functions{$allfunctions[$i]}.'
+ $$functions{$allfunctions[$i]}.'
');
}
$r->print(' '.
' ');
for (my $j=$halfnum; $j<@allfunctions; $j++) {
- $r->print(' '.
- $$functions{$allfunctions[$j]}.'
+ $$functions{$allfunctions[$j]}.'
');
}
if ($remnum) {
@@ -1161,7 +1181,7 @@ END
Granularity:
- '.$lt{'doyo'}.' '.&mt('Yes').' '.&mt('No'));
+ '.$lt{'doyo'}.' '.&mt('Yes').' '.&mt('No').' ');
if ($action eq 'modify') {
$r->print(' ('.&mt('Currently set to "[_1]"',
$$stored{'granularity'}).')');
@@ -1309,7 +1329,7 @@ sub choose_members_form {
my %origmembers;
$r->print(&Apache::lonhtmlcommon::echo_form_input(
['origin','action','state','page','member','specificity','branch',
- 'defpriv','autorole','autoadd','autodrop','sortby'],
+ 'defpriv','autorole','autoadd','autodrop','sortby','togglefunc'],
\@regexps));
my $earlyout = &validate_groupname($groupname,$action,$cdom,$cnum);
$r->print('
@@ -1599,11 +1619,11 @@ sub pick_new_members {
if ($granularity eq 'Yes') {
$r->print('
- All: ');
+ '.&mt('All:').' ');
foreach my $tool (@{$available}) {
- $r->print(' '.
- ''.$tool.' ');
+ $r->print(' '.''.$tool.' ');
}
$r->print(' ');
}
@@ -1753,8 +1773,8 @@ sub privilege_specificity {
}
if ($totaloptionalprivs) {
$r->print('
- '.$lt{'algm'}.'
- '.$lt{'smgp'}.'
+ '.$lt{'algm'}.'
+ '.$lt{'smgp'}.'
@@ -1876,7 +1896,7 @@ sub default_privileges {
$dynamic .= '
'."\n";
}
- $dynamic .= ' '.$$toolprivs{$tool}{$priv}.' '."\n";
+ $dynamic .= ' '.$$toolprivs{$tool}{$priv}.' '."\n";
}
}
if ($dynamic eq '') {
@@ -1982,8 +2002,8 @@ sub change_members_form {
my @regexps = ('user_','userpriv_');
$r->print(&Apache::lonhtmlcommon::echo_form_input(
['origin','action','state','page','expire','deletion',
- 'reenable','activate','changepriv','sortby'],
- \@regexps));
+ 'reenable','activate','changepriv','sortby',
+ 'togglefunc'],\@regexps));
my $rowimg = 1;
my @available = ();
my @unavailable = ();
@@ -2204,9 +2224,9 @@ END
'.&mt('All:').
' ');
foreach my $tool (@{$available}) {
- $r->print(' '.
- ''.$tool.' ');
+ $r->print(' '.''.$tool.' ');
}
$r->print(' ');
}
@@ -2243,25 +2263,25 @@ END
$r->print('
');
if ($current{$user}{changestate} eq 'reenable') {
- $r->print(''.
+ $r->print(''.
' '.
- $lt{'reen'}.' ');
+ $lt{'reen'}.' ');
} elsif ($current{$user}{changestate} eq 'expire') {
- $r->print(''.
+ $r->print(''.
' '.
- $lt{'expi'}.' ');
+ $lt{'expi'}.' ');
} elsif ($current{$user}{changestate} eq 'activate') {
- $r->print(''.
+ $r->print(''.
' '.
- $lt{'acti'}.' ');
+ $lt{'acti'}.' ');
}
- $r->print(''.
+ $r->print(''.
' '.
- $lt{'dele'}.' ');
+ $lt{'dele'}.' ');
if ($specificity eq 'Yes') {
- $r->print(''.
+ $r->print(''.
' '.$lt{'chpr'}.
- ' ');
+ ' ');
}
$r->print('
@@ -2274,17 +2294,17 @@ END
' ');
foreach my $tool (@{$current{$user}{currtools}}) {
if ($granularity eq 'Yes') {
- $r->print(' ');
+ $r->print(' '.$tool.' ');
} else {
- $r->print(' ');
+ $r->print(' '.$tool);
}
- $r->print($tool.' ');
+ $r->print(' ');
}
$r->print('');
}
@@ -2292,10 +2312,10 @@ END
$r->print('');
if ($granularity eq 'Yes') {
foreach my $tool (@{$current{$user}{newtools}}) {
- $r->print(' print(' '.$tool.
- ' ');
+ ' ');
}
} else {
foreach my $tool (@{$current{$user}{newtools}}) {
@@ -2894,6 +2914,11 @@ sub process_membership {
&Apache::loncommon::get_env_multiple('form.userpriv_'.$priv);
foreach my $user (@users) {
$group_privs{$user} .= $priv.':';
+ if ($state eq 'memresult') {
+ unless (exists($$usertools{$user}{$tool})) {
+ $$usertools{$user}{$tool} = 1;
+ }
+ }
}
} else {
if (@{$defprivs} > 0) {
@@ -2965,7 +2990,7 @@ sub process_membership {
}
}
}
- }
+ }
foreach my $user (sort(keys(%{$usertools}))) {
my $type;
@@ -3004,13 +3029,14 @@ sub process_membership {
if ($num_ok) {
foreach my $type (sort(keys(%added))) {
$r->print(&mt('The following users were successfully [_1]',$type));
- if ($type eq 'activated' || $type eq 'added' || $type eq 'reenabled') {
+ if (!($type eq 'deleted' || $type eq 'expired')) {
$r->print(&mt(' with the following privileges'));
}
$r->print(': ');
foreach my $user (@{$added{$type}}) {
- my $privlist;
- if ($type eq 'activated' || $type eq 'added') {
+ my $privlist = '';
+ if (!($type eq 'deleted' || $type eq 'expired')) {
+ $privlist = ': ';
my @privs = split(/:/,$group_privs{$user});
my $curr_tool = '';
foreach my $priv (@privs) {
@@ -3022,7 +3048,7 @@ sub process_membership {
}
$privlist =~ s/, $//;
}
- $r->print($$userdata{$user}[$$idx{fullname}].' - '.$user.': '.$privlist.' ');
+ $r->print($$userdata{$user}[$$idx{fullname}].' - '.$user.$privlist.' ');
}
}
}
@@ -3278,13 +3304,13 @@ sub member_privs_entries {
if ($privcount == 3) {
$dynamic .= ' ';
}
- $dynamic .=' ';
+ '';
}
}
$r->print(' '.$fixed.' '.$dynamic.' ');
@@ -3313,8 +3339,8 @@ sub date_setting_table {
'startdate',$starttime);
my $endform = &Apache::lonhtmlcommon::date_setter($formname,
'enddate',$endtime);
- my $perpetual = '
- no ending date ';
+ my $perpetual = '
+ no ending date ';
my $start_table = '';
$start_table .= "\n";
$start_table .= 'Default starting date for