--- loncom/interface/loncoursegroups.pm 2006/12/04 21:44:02 1.68
+++ loncom/interface/loncoursegroups.pm 2008/04/16 22:40:02 1.73
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: loncoursegroups.pm,v 1.68 2006/12/04 21:44:02 albertel Exp $
+# $Id: loncoursegroups.pm,v 1.73 2008/04/16 22:40:02 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -140,15 +140,19 @@ function openGroupRoster(group,status) {
rosterbrowser.focus();
}\n|;
$r->print(&header('Groups',$jscript,$action,$state));
- if ($env{'form.refpage'} eq 'enrl') {
+ if ($env{'form.refpage'} eq 'cusr') {
&Apache::lonhtmlcommon::add_breadcrumb
- ({href=>"/adm/dropadd",
- text=>"Enrollment Manager"});
+ ({href=>"/adm/createuser",
+ text=>"User Management"});
}
&Apache::lonhtmlcommon::add_breadcrumb
({href=>"/adm/coursegroups",
text=>"Groups"});
- $r->print(&Apache::lonhtmlcommon::breadcrumbs('Groups'));
+ my $helpitem;
+ if ($manage_permission) {
+ $helpitem = 'Creating_Groups';
+ }
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Groups',$helpitem));
&display_groups($r,$cdom,$cnum,$functions,$idx,$view_permission,
$manage_permission,$action,$state,$gpterm,$ucgpterm,
$crstype);
@@ -189,6 +193,7 @@ sub display_groups {
dius => 'Disk Use (%)',
nogr => 'No groups exist.',
crng => 'Create a new group',
+ redg => 'Re-enable a deleted group',
alth => 'Although your current role has privileges'.
' to view any existing groups in this '.
lc($crstype).', you do not have privileges '.
@@ -198,16 +203,28 @@ sub display_groups {
if (!defined($action)) {
$action = 'view';
}
- my $status;
+ my ($status,$reenable_link);
if ($action eq 'reenable') {
$status = 'deleted_groups';
+ } else {
+ if ($manage_permission) {
+ my %deleted_groups =
+ &Apache::longroup::coursegroups($cdom,$cnum,undef,'deleted_groups');
+ if (keys(%deleted_groups) > 0) {
+ $reenable_link = ' '.$lt{'redg'}.'';
+ }
+ }
}
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum,undef,
$status);
+
if (%curr_groups) {
if ($manage_permission) {
- if (!exists($env{'form.refpage'})) {
- $r->print('
'.$lt{'crng'}.'');
+ if ($action ne 'reenable') {
+ $r->print('
'.$lt{'crng'}.'');
+ }
+ if ($reenable_link) {
+ $r->print($reenable_link);
}
}
$r->print('
');
@@ -312,8 +329,7 @@ END
}
$link .= '">'.$lt{$action}.'';
if ($action eq 'view') {
- if (($manage_permission) &&
- ($env{'form.refpage'} ne 'enrl')) {
+ if ($manage_permission) {
$link .= ' '.$actionlinks{'modify'}.
$group.'">'.$lt{'modify'}.''.
' '.$actionlinks{'delete'}.
@@ -349,12 +365,14 @@ END
} else {
$r->print($lt{'nogr'});
if ($manage_permission) {
- if (!exists($env{'form.refpage'})) {
- $r->print('
'.$lt{'crng'}.'');
+ $r->print('
'.$lt{'crng'}.'');
+ if ($action ne 'reenable') {
+ if ($reenable_link) {
+ $r->print($reenable_link);
+ }
}
} else {
$r->print('
'.$lt{'alth'});
-
}
}
} else {
@@ -848,14 +866,14 @@ function changeSort(caller) {
$r->print(&header("Groups Manager",
$jscript,$action,$state,$page,$loaditems));
- if ($env{'form.refpage'} eq 'enrl') {
+ if ($env{'form.refpage'} eq 'cusr') {
&Apache::lonhtmlcommon::add_breadcrumb
- ({href=>"/adm/dropadd",
- text=>"Enrollment Manager",
+ ({href=>"/adm/createuser",
+ text=>"User Management",
faq=>9,bug=>'Instructor Interface',});
if ($action eq 'modify' || $action eq 'delete') {
&Apache::lonhtmlcommon::add_breadcrumb
- ({href=>"/adm/coursegroups?refpage=enrl&action=$action",
+ ({href=>"/adm/coursegroups?refpage=cusr&action=$action",
text=>"Groups",
faq=>9,bug=>'Instructor Interface',});
}
@@ -1132,7 +1150,7 @@ sub verify_delete {
my $prevtext = &mt('Go back');
my $nexttext = &mt('Delete group');
my $prev;
- if ($env{'form.refpage'} eq 'enrl') {
+ if ($env{'form.refpage'} eq 'cusr') {
$prev = 'view';
}
&display_navbuttons($r,$formname,$prev,$prevtext,
@@ -1216,7 +1234,7 @@ sub reenable_folder {
$LONCAPA::map::order[1+$#LONCAPA::map::order]=$idx;
my ($outtext,$errtext) = &LONCAPA::map::storemap($allgrpsmap,1);
if ($errtext) {
- $outcome = &mt('Error storing updated parent folder to group').
+ $outcome = &mt('Error saving updated parent folder to group').
"- $allgrpsmap - $errtext".'
';
} else {
my ($furl,$ferr) =
@@ -1266,7 +1284,7 @@ sub modify_folders {
$#LONCAPA::map::order--;
my ($outtext,$errtext) = &LONCAPA::map::storemap($map,1);
if ($errtext) {
- $outcome = &mt('Error storing updated parent folder to group'). "- $map - $errtext".'
';
+ $outcome = &mt('Error saving updated parent folder to group'). "- $map - $errtext".'
';
} else {
my ($furl,$ferr) =
&Apache::lonuserstate::readmap($cdom.'/'.$cnum);
@@ -1288,7 +1306,7 @@ sub verify_reenable {
my $prevtext = &mt('Go back');
my $nexttext = &mt('Reenable group');
my $prev;
- if ($env{'form.refpage'} eq 'enrl') {
+ if ($env{'form.refpage'} eq 'cusr') {
$prev = 'view';
}
&display_navbuttons($r,$formname,$prev,$prevtext,
@@ -1451,7 +1469,7 @@ sub group_files {
if ($dirptr&$testdir) {
$currdir .= '/'.$filename;
$$numdirs ++;
- &group_files($numfiles,$numdirs)
+ &group_files($group,$currdir,$numfiles,$numdirs);
} else {
$$numfiles ++;
}
@@ -3679,8 +3697,8 @@ sub add_group_folder {
if ($action eq 'create') {
if (&get_folder_lock($cdom,$cnum,'group_allfolders',$now) eq 'ok') {
# check if group_allfolders.sequence exists.
- my ($errtext,$fatal)=&LONCAPA::map::mapread($allgrpsmap);
- if ($fatal == 2) { #file does not exist;
+ my $mapcontents = &Apache::lonnet::getfile($allgrpsmap);
+ if ($mapcontents eq '-1') { #file does not exist;
my $grpstitle = &mt('[_1] [_2]s',$crstype,$ucgpterm);
my $topmap_url = '/'.$env{'course.'.$env{'request.course.id'}.'.url'};
$topmap_url =~ s|/+|/|g;
@@ -3808,7 +3826,7 @@ sub map_updater {
$LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx;
my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1);
if ($errtext) {
- $outcome = &mt('Error storing updated parent folder')." ($parentmap): $errtext".'
';
+ $outcome = &mt('Error saving updated parent folder')." ($parentmap): $errtext".'
';
return $outcome;
}
}