--- loncom/interface/loncoursegroups.pm 2010/01/26 02:40:32 1.108 +++ loncom/interface/loncoursegroups.pm 2012/07/21 21:20:06 1.114 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursegroups.pm,v 1.108 2010/01/26 02:40:32 raeburn Exp $ +# $Id: loncoursegroups.pm,v 1.114 2012/07/21 21:20:06 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -135,7 +135,7 @@ function changeSort(caller) { function openGroupRoster(group,status) { var url = '/adm/grouproster?'; url += 'group='+group+'&status='+status+'&ref=popup'; - var title = 'Group Membership'; + var title = 'Group_Membership'; var options = 'scrollbars=1,resizable=1,menubar=0'; options += ',width=700,height=600'; rosterbrowser = open(url,title,options,'1'); @@ -170,7 +170,7 @@ sub display_groups { my %actionlinks = ( modify => ' ' ''. + &mt('An error occurred retrieving information about resources in the course.').'
'. + &mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','
',''). + ''); + return; + } if ($manage_permission) { if ($action ne 'reenable') { $r->print('
'.$lt{'crng'}.''); @@ -324,7 +332,9 @@ END $action eq 'reenable') { $link .= $group; } else { - $link .= $group.'/smppg?ref=grouplist'; + $link .= + &Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap); + $link .= (($link=~/\?/)?'&':'?').'ref=grouplist'; if (exists($env{'form.refpage'})) { $link .= '&refpage='.$env{'form.refpage'}; } @@ -386,12 +396,23 @@ END $r->print('

'); my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); if (%curr_groups) { + my $navmap=Apache::lonnavmaps::navmap->new(); + if (!defined($navmap)) { + $r->print('
'. + &mt('An error occurred retrieving information about resources in the course.').'
'. + &mt('It is recommended that you [_1]re-initialize the course[_2] and then return to this page.','',''). + '
'); + return; + } foreach my $group (@coursegroups) { my %group_info = &Apache::longroup::get_group_settings( $curr_groups{$group}); my $description = &unescape( $group_info{description}); - $r->print(''.$group,'
'.$description.'

'); + my $link = + &Apache::longroup::get_group_link($cdom,$cnum,$group,$navmap). + '&ref=grouplist'; + $r->print(''.$group,'
'.$description.'

'); } } } else { @@ -1210,9 +1231,9 @@ sub delete_group { if ($result eq 'ok') { my $outcome = &modify_folders($cdom,$cnum,$groupname,$crstype); if ($outcome eq '') { - $r->print('
' - .&mt('Group successfully deleted.') - .'
'); + my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Group successfully deleted.')); + $message = &Apache::loncommon::confirmwrapper($message); + $r->print($message); } else { $r->print('
'); if ($crstype eq 'Community') { @@ -1223,9 +1244,9 @@ sub delete_group { $r->print('
'); } } else { - $r->print('
' - .&mt('Group deletion failed.') - .'
'); + my $msg = &Apache::lonhtmlcommon::confirm_success(&mt('Group deletion failed.'),1); + $msg = &Apache::loncommon::confirmwrapper($msg); + $r->print($msg); } } return; @@ -1255,7 +1276,7 @@ sub reenable_folder { $LONCAPA::map::resources[$idx] = $foldertitle.':'.$mapurl. ':false:normal:res'; $LONCAPA::map::order[1+$#LONCAPA::map::order]=$idx; - my ($outtext,$errtext) = &LONCAPA::map::storemap($allgrpsmap,1); + my ($outtext,$errtext) = &LONCAPA::map::storemap($allgrpsmap,1,1); if ($errtext) { $outcome='
' .&mt('An error occurred when saving updated parent folder to group:' @@ -1320,7 +1341,7 @@ sub modify_folders { $LONCAPA::map::order[$i] = $LONCAPA::map::order[$i+1]; } $#LONCAPA::map::order--; - my ($outtext,$errtext) = &LONCAPA::map::storemap($map,1); + my ($outtext,$errtext) = &LONCAPA::map::storemap($map,1,1); if ($errtext) { $outcome='
' .&mt('An error occurred when saving updated parent folder to group:') @@ -1437,9 +1458,9 @@ $context) eq 'ok') { } my $outcome = &reenable_folder($cdom,$cnum,$groupname,$description,$crstype); if ($outcome eq '') { - $r->print('
' - .&mt('Group successfully re-enabled.') - .'
'); + my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Group successfully re-enabled.')); + $message = &Apache::loncommon::confirmwrapper($message); + $r->print($message); } else { $r->print('
'); if ($crstype eq 'Community') { @@ -1450,9 +1471,9 @@ $context) eq 'ok') { $r->print('
'); } } else { - $r->print('
' - .&mt('Re-enabling group failed.') - .'
'); + my $message = &Apache::lonhtmlcommon::confirm_success(&mt('Re-enabling group failed.'),1); + $message = &Apache::loncommon::confirmwrapper($message); + $r->print($message); } return; } @@ -1526,16 +1547,19 @@ sub build_members_list { sub group_files { my ($group,$portpath,$numfiles,$numdirs) = @_; my $dirptr=16384; - my @dir_list=&Apache::portfolio::get_dir_list($portpath,undef,$group); - foreach my $line (@dir_list) { - my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); - if (($filename !~ /^\.\.?$/) && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/) && ($filename ne 'no_such_dir')) { - if ($dirptr&$testdir) { - $portpath .= '/'.$filename; - $$numdirs ++; - &group_files($group,$portpath,$numfiles,$numdirs) - } else { - $$numfiles ++; + my ($dirlistref,$listerror) = + &Apache::portfolio::get_dir_list($portpath,undef,$group); + if (ref($dirlistref) eq 'ARRAY') { + foreach my $line (@{$dirlistref}) { + my ($filename,$dom,undef,$testdir,undef,undef,undef,undef,$size,undef,$mtime,undef,undef,undef,$obs,undef)=split(/\&/,$line,16); + if (($filename !~ /^\.\.?$/) && ($filename !~ /\.meta$/ ) && ($filename !~ /(.*)\.(\d+)\.([^\.]*)$/) && ($filename ne 'no_such_dir')) { + if ($dirptr&$testdir) { + $portpath .= '/'.$filename; + $$numdirs ++; + &group_files($group,$portpath,$numfiles,$numdirs) + } else { + $$numfiles ++; + } } } } @@ -3243,15 +3267,15 @@ sub write_group_data { $description,$tools,\%groupinfo, $gpterm,$ucgpterm,$crstype); if ($result eq 'ok') { - $r->print('
' - .&mt($ucgpterm.' [_1] was created.',''.$groupname.'') - .'
'); + my $msg = &Apache::lonhtmlcommon::confirm_success(&mt($ucgpterm.' [_1] was created.',''.$groupname.'')); + $msg = &Apache::loncommon::confirmwrapper($msg); + $r->print($msg); } else { - $r->print('
' - .&mt('A problem occurred when creating folders for the new '.$gpterm.' [_1]:' - ,''.$groupname.'') - .'
'.$result - .'
'); + my $msg = &Apache::lonhtmlcommon::confirm_success(&mt('A problem occurred when creating folders for the new '.$gpterm.' [_1]:' + ,''.$groupname.'') + .'
'.$result,1); + $msg = &Apache::loncommon::confirmwrapper($msg); + $r->print($msg); } } elsif ($action eq 'modify') { my (@oldtools,@newtools); @@ -3322,9 +3346,9 @@ sub write_group_data { $r->print('
'.$error.'
'); } } - $r->print('
' - .&mt($ucgpterm.' [_1] was updated.',''.$groupname.'') - .'
'); + my $message = &Apache::lonhtmlcommon::confirm_success(&mt($ucgpterm.' [_1] was updated.',''.$groupname.'')); + $message = &Apache::loncommon::confirmwrapper($message); + $r->print($message); } } else { my %actiontype = ( @@ -3502,12 +3526,13 @@ sub process_membership { my $roster_result = &Apache::lonnet::modify_coursegroup_membership($cdom, $cnum,\%usersettings); if ($num_ok) { - foreach my $type (sort(keys(%added))) { - $r->print(&mt('The following users were successfully [_1]',$type)); + my $msgall =''; + foreach my $type (sort(keys(%added))) { + my $message = &mt('The following users were successfully [_1]',$type); if (!($type eq 'deleted' || $type eq 'expired')) { - $r->print(&mt(' with the following privileges')); + $message .= &mt(' with the following privileges'); } - $r->print(':
'); + $message .= ':
'; foreach my $user (@{$added{$type}}) { my $privlist = ''; if (!($type eq 'deleted' || $type eq 'expired')) { @@ -3523,10 +3548,14 @@ sub process_membership { } $privlist =~ s/, $//; } - $r->print($$userdata{$user}[$$idx{fullname}].' - '.$user.$privlist.'
'); + $message .= $$userdata{$user}[$$idx{fullname}].' - '.$user.$privlist.'
'; } - $r->print('
'); + $message .= '
'; + $message = &Apache::lonhtmlcommon::confirm_success($message); + $msgall .= $message; } + $msgall = &Apache::loncommon::confirmwrapper($msgall); + $r->print($msgall); } if ($num_fail) { foreach my $type (sort(keys(%failed))) { @@ -3539,13 +3568,15 @@ sub process_membership { } $r->print('
'); } - if (@unchanged > 0) { - $r->print(&mt('No change occurred for the following users:').'
'); - foreach my $user (sort(@unchanged)) { - $r->print($$userdata{$user}[$$idx{fullname}].' - '.$user.'
'); - } - $r->print('
'); - } +# Is that really needed? +# +# if (@unchanged > 0) { +# $r->print(&mt('No change occurred for the following users:').'
'); +# foreach my $user (sort(@unchanged)) { +# $r->print($$userdata{$user}[$$idx{fullname}].' - '.$user.'
'); +# } +# $r->print('
'); +# } if ($roster_result eq 'ok') { $r->print('
' .&mt($ucgpterm.' membership list updated.') @@ -4002,7 +4033,7 @@ sub map_updater { $LONCAPA::map::resources[$newidx] = $itemtitle.':'.$newmapurl. ':false:normal:res'; $LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx; - my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1); + my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1,1); if ($errtext) { $outcome = '
' .&mt('Error saving updated parent folder.')." ($parentmap): $errtext"