'
.&mt('An error occurred when saving updated parent folder to group:'
@@ -1320,7 +1346,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 +1463,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 +1476,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 +1552,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 ++;
+ }
}
}
}
@@ -1605,7 +1634,7 @@ sub general_settings_form {
&access_date_settings($r,$action,$formname,$stored,2,$gpterm,$ucgpterm);
if ($action eq 'create') {
&membership_options($r,$cdom,$cnum,$action,$formname,$sectioncount,3,
- $gpterm,$ucgpterm);
+ $gpterm,$ucgpterm,$crstype);
$nexttext = $$navbuttons{'gtns'};
} else {
my @available = ();
@@ -1786,7 +1815,6 @@ sub membership_options {
} else {
$lt{'asub'} = &mt('A subsequent step will also allow you to specify automatic adding/dropping of group members triggered by specified user role and section [_1]changes[_2] in the course.','
',' ');
}
-
my %status_types = (
active => &mt('Currently has access'),
previous => &mt('Previously had access'),
@@ -1805,7 +1833,6 @@ sub membership_options {
$r->print(&Apache::lonhtmlcommon::topic_bar($image,$lt{'pipa'}).'
'.$lt{'gmem'}.' ');
-
if ($action eq 'create') {
$r->print($lt{'picr'}.'
'.$lt{'ifno'}.'
'.$lt{'asub'});
} else {
@@ -2104,7 +2131,7 @@ sub pick_new_members {
&check_uncheck_buttons($r,$formname,'member',$lt{'addm'});
if (@{$available} > 0 && $granularity eq 'Yes') {
$r->print('
- '.$lt{'setf'}.'
+ '.$lt{'setf'}.'
@@ -2232,11 +2259,12 @@ sub privilege_specificity {
"for users who receive specific sections/roles in the course ",
'asyo' => "As you have chosen not to include any collaborative tools ".
"in the group, no default optional privileges need to be set.",
- 'plin' => 'Indicate which optional privileges members '.
'will receive by default for a specific tool.',
'oppr' => 'Optional privileges',
'defp' => 'The default privileges new members will receive are:',
);
+ $lt{'plin'} = &mt('Indicate which [_1]optional[_2] privileges members '.
+ 'will receive by default for a specific tool.','',' ');
if ($crstype eq 'Community') {
$lt{'thes'} = &mt('These will be the privileges given to members assigned in the future via automatic group assignment for users who receive specific sections/roles in the community ');
}
@@ -2557,7 +2585,7 @@ sub current_membership {
$r->print('
- '.$lt{'curf'}.'
+ '.$lt{'curf'}.'
@@ -2715,7 +2743,7 @@ sub check_uncheck_buttons {
$r->print('
- '.$title.'
+ '.$title.'
@@ -2795,7 +2823,7 @@ sub change_privs_form {
sub add_members_form {
my ($r,$cdom,$cnum,$action,$formname,$page,$startdate,$enddate,$groupname,
$description,$granularity,$quota,$sectioncount,$tools,$functions,
- $stored,$states,$navbuttons,$gpterm,$ucgpterm,$crstype)=@_;
+ $stored,$states,$navbuttons,$gpterm,$ucgpterm,$crstype)=@_;
$r->print(' ');
my @available = ();
my @unavailable = ();
@@ -3015,7 +3043,7 @@ sub member_privileges_form {
$r->print(' ');
}
$r->print(
- ''.&mt($$toolprivs{$tool}{$priv}).' '
+ ''.&mt($$toolprivs{$tool}{$priv}).' '
.''
.' '
@@ -3245,15 +3273,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);
@@ -3299,8 +3327,8 @@ sub write_group_data {
} else {
if ($crstype eq 'Community') {
$error = &mt("An error occurred while setting parameters '.
- 'for Discussion Boards folder: '.
- 'Could not retrieve community information");
+ 'for Discussion Boards folder: '.
+ 'Could not retrieve community information");
} else {
$error = &mt("An error occurred while setting parameters '.
'for Discussion Boards folder: '.
@@ -3324,9 +3352,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 = (
@@ -3504,12 +3532,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')) {
@@ -3525,10 +3554,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))) {
@@ -3541,13 +3574,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.')
@@ -3555,8 +3590,8 @@ sub process_membership {
$r->print('
');
if ($crstype eq 'Community') {
$r->print(&mt("Any currently logged in community users affected by the changes you made"
- .' to group membership or privileges for the [_1] group will need to log out'
- .' and log back in for their LON-CAPA sessions to reflect these changes.'
+ .' to group membership or privileges for the [_1] group will need to log out'
+ .' and log back in for their LON-CAPA sessions to reflect these changes.'
,''.$groupname.' '));
} else {
@@ -3711,36 +3746,32 @@ sub standard_roles {
sub modify_menu {
my ($r,$groupname,$page,$gpterm) = @_;
my @menu =
- (
- { text => "Modify default $gpterm settings",
- help => 'Course_Modify_Group',
- state => 'change_settings',
- branch => 'settings',
+ ( { categorytitle =>'Group Actions',
+ items => [
+
+ { linktext => "Modify default $gpterm settings",
+ url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_settings&branch=settings',
+ icon => 'grp_settings.png',
+ alttext => "Modify default $gpterm settings",
+ permission => '1',
+ help => 'Course_Modify_Group',
},
- { text => 'Modify access, tools and/or privileges for previous, '.
- 'future, or current members',
+ { linktext => 'Modify access, tools and privileges for members',
+ url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=change_members&branch=members',
+ icon => 'grp_tools.png',
+ alttext => 'Modify access, tools and privileges for members',
+ permission => '1',
help => 'Course_Modify_Group_Membership',
- state => 'change_members',
- branch => 'members',
},
- { text => "Add member(s) to the $gpterm",
+ { linktext => "Add member(s) to the $gpterm",
+ url => '/adm/coursegroups?action=modify&refpage='.$env{'form.refpage'}.'&groupname='.$groupname.'&state=add_members&branch=adds',
+ icon => 'grp_add.png',
+ alttext => "Add member(s) to the $gpterm",
+ permission => '1',
help => 'Course_Group_Add_Members',
- state => 'add_members',
- branch => 'adds',
- },
- );
- my $menu_html = '';
- foreach my $menu_item (@menu) {
- $menu_html .=
- '
';
- $menu_html.= &mt($menu_item->{'text'}).' ';
- if (exists($menu_item->{'help'})) {
- $menu_html.=
- &Apache::loncommon::help_open_topic($menu_item->{'help'});
- }
- $menu_html.='
'.$/;
- }
- $r->print($menu_html);
+ }]}
+ );
+ $r->print(&Apache::lonhtmlcommon::generate_menu(@menu));
return;
}
@@ -4008,7 +4039,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"
@@ -4233,3 +4264,4 @@ sub check_changes {
}
1;
+