--- loncom/interface/loncoursegroups.pm 2008/04/22 18:38:09 1.75 +++ loncom/interface/loncoursegroups.pm 2008/08/24 12:54:55 1.78 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursegroups.pm,v 1.75 2008/04/22 18:38:09 bisitz Exp $ +# $Id: loncoursegroups.pm,v 1.78 2008/08/24 12:54:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -406,7 +406,6 @@ sub group_administration { my @types = (); my @roles = (); my @sections = (); - my @buildsections = (); my %users = (); my %userdata = (); my @members = (); @@ -566,16 +565,11 @@ sub group_administration { } if (defined($env{'form.sectionpick'})) { @sections=&Apache::loncommon::get_env_multiple('form.sectionpick'); - if (grep/^all$/,@sections) { - @buildsections = sort {$a cmp $b} keys(%sectioncount); - } else { - @buildsections = @sections; - } } } if (($state eq 'pick_members') || ($state eq 'pick_privs') || ($state eq 'change_privs')) { - &build_members_list($cdom,$cnum,\@types,\@roles,\@buildsections,\%users, + &build_members_list($cdom,$cnum,\@types,\@roles,\@sections,\%users, \%userdata); } if ($state eq 'pick_members') { @@ -1169,6 +1163,7 @@ sub delete_group { my @deleted; my @undeleted; my %usersettings; + my $context = 'deletegroup'; foreach my $key (sort(keys(%membership))) { if ($key =~ /^\Q$groupname\E:([^:]+:[^:]+)$/) { my $user = $1; @@ -1178,7 +1173,8 @@ sub delete_group { $usersettings{$groupname.':'.$user} = $now.':-1:'.$userprivs; if (&Apache::lonnet::modify_group_roles($cdom,$cnum, $groupname,$user, - $now,'-1',$userprivs) + $now,'-1',$userprivs, + '',$context) eq 'ok') { $num_ok ++; push(@deleted,$user); @@ -1338,6 +1334,7 @@ sub reenable_group { my $num_users = 0; my $num_ok = 0; my $num_fail = 0; + my $context = 'reenablegroup'; my (%usersettings,@enabled,@unenabled); my ($result,$message) = &Apache::lonnet::toggle_coursegroup_status($cdom,$cnum,$groupname, @@ -1357,7 +1354,8 @@ sub reenable_group { if (&Apache::lonnet::modify_group_roles($cdom,$cnum, $groupname,$user, $defend,$defstart, - $userprivs) eq 'ok') { + $userprivs,'', +$context) eq 'ok') { $num_ok ++; push(@enabled,$user); } else { @@ -1576,8 +1574,7 @@ sub groupsettings_options { 'for different group members?', ); my ($crsquota,$freespace,$maxposs) = &get_quota_constraints($action,$stored); - &topic_bar($r,$image,$lt{'gnde'}); - $r->print(' + $r->print(&Apache::lonhtmlcommon::topic_bar($image,$lt{'gnde'}).' @@ -1715,8 +1712,7 @@ sub membership_options { my @sections = keys(%{$sectioncount}); - &topic_bar($r,$image,$lt{'pipa'}); - $r->print(' + $r->print(&Apache::lonhtmlcommon::topic_bar($image,$lt{'pipa'}).' '.$lt{'gmem'}.'
'.$lt{'picr'}); if ($action eq 'create') { $r->print($lt{'meof'}.'
'.$lt{'ifno'}.'
'.$lt{'asub'}); @@ -1786,8 +1782,7 @@ sub access_date_settings { } } my ($table) = &date_setting_table($starttime,$endtime,$formname); - &topic_bar($r,$image,$lt{'sten'}); - $r->print(' + $r->print(&Apache::lonhtmlcommon::topic_bar($image,$lt{'sten'}).' '.$table.' '); return; @@ -2025,7 +2020,7 @@ sub pick_new_members { $r->print(&check_uncheck_tools($r,$available)); } } - &topic_bar($r,$img,$lt{'gpme'}); + $r->print(&Apache::lonhtmlcommon::topic_bar($img,$lt{'gpme'})); if (keys(%members) > 0) { $r->print('
'.$lt{'gnam'}.':
@@ -2174,7 +2169,7 @@ sub privilege_specificity { } } } - &topic_bar($r,$img,$lt{'uprv'}); + $r->print(&Apache::lonhtmlcommon::topic_bar($img,$lt{'uprv'})); if ((($action eq 'create') && (@{$available} > 0)) || (($action eq 'modify') && ($formname eq 'change_settings'))) { my %specific = ( @@ -2415,11 +2410,11 @@ sub change_members_form { $r->print('
'); - &topic_bar($r,1,$lt{'grse'}); + $r->print(&Apache::lonhtmlcommon::topic_bar(1,$lt{'grse'})); &print_current_settings($r,$action,$functions,$startdate,$enddate, $groupname,$description,$granularity,$quota, \@available,\@unavailable,$gpterm,$ucgpterm); - &topic_bar($r,2,$lt{'mogm'}); + $r->print(&Apache::lonhtmlcommon::topic_bar(2,$lt{'mogm'})); my $numcurrent = ¤t_membership($r,$cdom,$cnum,$formname,$groupname, \@available,\@unavailable,$fixedprivs, $granularity,$specificity); @@ -2669,7 +2664,7 @@ sub change_privs_form { } else { $nexttext = $$navbuttons{'mose'}; } - &topic_bar($r,3,&mt('Members to delete or expire')); + $r->print(&Apache::lonhtmlcommon::topic_bar(3,&mt('Members to delete or expire'))); my $exp_or_del = 0; if (ref($$memchg{'deletion'}) eq 'ARRAY') { if (@{$$memchg{'deletion'}} > 0) { @@ -2697,7 +2692,7 @@ sub change_privs_form { $r->print($lt{'nome'}.'
'); } - &topic_bar($r,4,&mt('Setting optional privileges for specific group members')); + $r->print(&Apache::lonhtmlcommon::topic_bar(4,&mt('Setting optional privileges for specific group members'))); my $numchgs = &member_privileges_form($r,$action,$formname,$tools, $toolprivs,$fixedprivs,$userdata, @@ -2754,7 +2749,7 @@ sub choose_privs_form { $nexttext = $$navbuttons{'adme'}; } - &topic_bar($r,6,&mt('Setting optional privileges for specific group members')); + $r->print(&Apache::lonhtmlcommon::topic_bar(6,&mt('Setting optional privileges for specific group members'))); &member_privileges_form($r,$action,$formname,$tools,$toolprivs, $fixedprivs,$userdata,$usertools,$idx,undef, @@ -3231,6 +3226,7 @@ sub process_membership { my %curr_start = (); my %curr_end = (); my %tooltype = (); + my $context = 'processgroupmembership'; foreach my $tool (@{$tools}) { foreach my $priv (sort(keys(%{$$toolprivs{$tool}}))) { @@ -3300,7 +3296,7 @@ sub process_membership { $curr_privs{$user}; if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname, $user,$now,$savestart, - $curr_privs{$user}) eq 'ok') { + $curr_privs{$user},'',$context) eq 'ok') { push(@{$added{'expired'}},$user); $num_ok ++; } else { @@ -3311,7 +3307,7 @@ sub process_membership { foreach my $user (@deletion) { $usersettings{$groupname.':'.$user} = $now.':-1:'; if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname, - $user,$now,'-1','') + $user,$now,'-1','','',$context) eq 'ok') { push(@{$added{'deleted'}},$user); $num_ok ++; @@ -3365,7 +3361,7 @@ sub process_membership { $group_privs{$user}; if (&Apache::lonnet::modify_group_roles($cdom,$cnum,$groupname, $user,$end,$start, - $group_privs{$user}) eq 'ok') { + $group_privs{$user},'',$context) eq 'ok') { push(@{$added{$type}},$user); $num_ok ++; } else { @@ -3461,8 +3457,7 @@ sub automapping { if (exists($$stored{'autodrop'})) { $drop = $$stored{'autodrop'}; } - &topic_bar($r,$image,$$lt{'endi'}); - $r->print(' + $r->print(&Apache::lonhtmlcommon::topic_bar($image,$$lt{'endi'}).' '.$$lt{'gmma'}.':
'.$$lt{'adds'}.'
'.$$lt{'drops'}.'

'.$$lt{'auad'}.':  '); @@ -3489,7 +3484,7 @@ sub mapping_settings { } else { @sections = ('all','none'); } - &topic_bar($r,$image,$$lt{'pirs'}); + $r->print(&Apache::lonhtmlcommon::topic_bar($image,$$lt{'pirs'})); my @roles = &standard_roles(); my %customroles = &Apache::lonhtmlcommon::course_custom_roles($cdom,$cnum); $r->print(&Apache::loncommon::start_data_table(). @@ -3990,18 +3985,6 @@ sub validate_groupname { return; } -sub topic_bar { - my ($r,$imgnum,$title) = @_; - $r->print(' -
- '.&mt('Step [_1]',$imgnum).
-	      '  - '.$title.' -
-'); - return; -} - sub check_changes { my ($member_changes,$memchg) = @_; my %exclusions;