'
- .&mt('The value you entered for the quota for the file repository in this '.$gpterm
+ .&mt('The value you entered for the quota for the group portfolio in this '.$gpterm
.' contained invalid characters, so it has been set to 0 Mb. You can change this by'
.' modifying the '.$gpterm.' settings.')
.'
');
@@ -3129,7 +3135,7 @@ sub write_group_data {
if ($quota > $maxposs) {
$quota = $maxposs;
$r->print(''
- .&mt('The value you entered for the quota for the file repository in this '.$gpterm
+ .&mt('The value you entered for the quota for the group portfolio in this '.$gpterm
.' exceeded the maximum possible value, so it has been set to [_1] Mb '
.'(the maximum possible value).',sprintf("%.2f",$maxposs))
.'
');
@@ -3221,36 +3227,49 @@ sub write_group_data {
my $crspath = '/uploaded/'.$cdom.'/'.$cnum.'/';
my $boardsmap = $crspath.'group_boards_'.$groupname.'.sequence';
my $navmap = Apache::lonnavmaps::navmap->new();
- my $bbmapres = $navmap->getResourceByUrl($boardsmap);
- undef($navmap);
- if (!$bbmapres) {
- my $grpmap = $crspath.'group_folder_'.$groupname.'.sequence';
- my $disctitle = &mt('Discussion Boards');
- my $outcome = &map_updater($cdom,$cnum,'group_boards_'.
- $groupname.'.sequence','bbseq',
- $disctitle,$grpmap);
- my ($furl,$ferr) =
- &Apache::lonuserstate::readmap($cdom.'/'.$cnum);
- $navmap = Apache::lonnavmaps::navmap->new();
- # modify parameter
- if ($outcome eq 'ok') {
- my $parm_result = &parm_setter($navmap,$cdom,$boardsmap,
- $groupname);
- if ($parm_result) {
- $r->print(''
- .&mt('An error occurred while setting parameters '
- .'for Discussion Boards folder: '
- .'[_1]',$parm_result)
- .'
');
+ my ($bbmapres,$error);
+ if (defined($navmap)) {
+ $bbmapres = $navmap->getResourceByUrl($boardsmap);
+ undef($navmap);
+ if (!$bbmapres) {
+ my $grpmap = $crspath.'group_folder_'.$groupname.'.sequence';
+ my $disctitle = &mt('Discussion Boards');
+ my $outcome = &map_updater($cdom,$cnum,'group_boards_'.
+ $groupname.'.sequence','bbseq',
+ $disctitle,$grpmap);
+ my ($furl,$ferr) =
+ &Apache::lonuserstate::readmap($cdom.'/'.$cnum);
+ # modify parameter
+ if ($outcome eq 'ok') {
+ $navmap = Apache::lonnavmaps::navmap->new();
+ if (defined($navmap)) {
+ my $parm_result = &parm_setter($navmap,$cdom,$boardsmap,
+ $groupname);
+ if ($parm_result) {
+ $error = &mt('An error occurred while setting parameters '
+ .'for Discussion Boards folder: '
+ .'[_1]',$parm_result);
+ } else {
+ $r->print(''.
+ &mt('Discussion Boards Folder created.')
+ .'
');
+ }
+ undef($navmap);
+ } else {
+ $error = &mt('An error occurred while setting parameters '.
+ 'for Discussion Boards folder: '.
+ 'Could not retrieve course information' );
+ }
} else {
- $r->print(''
- .&mt('Discussion Boards Folder created.')
- .'
');
+ $r->print($outcome);
}
- } else {
- $r->print($outcome);
}
- undef($navmap);
+ } else {
+ $error = &mt("An error occurred while retrieving the contents of the group's folder.").''
@@ -3471,17 +3490,28 @@ sub process_membership {
$r->print('
');
}
if (@unchanged > 0) {
- $r->print(&mt('No change occurred for the following users:
'));
+ $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('[_1] membership list updated.',$ucgpterm));
- $r->print('
'.&mt("Any currently logged in course 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.",$groupname).'
');
+ $r->print('
'
+ .&mt($ucgpterm.' membership list updated.')
+ .'
');
+ $r->print('
'
+ .&mt('Any currently logged in course 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.'
+ ,''.$groupname.' ')
+ .'
'
+ );
} else {
- $r->print('
'.&mt('An error occurred while updating the [_1] membership list -',$gpterm).$roster_result.'
');
+ $r->print('
'
+ .&mt("An error occurred while updating the $gpterm membership list:")
+ .' '.$roster_result
+ .'
');
}
return;
}
@@ -3497,7 +3527,6 @@ sub mapping_options {
'adds' => "If automatic $gpterm enrollment is enabled, when a user is newly assigned a ".lc($crstype)."-wide or section-specific role, he/she will automatically be added as a member of the $gpterm, with start and end access dates defined by the default dates set for the $gpterm, unless he/she is already a $gpterm member, with access dates that permit either current or future $gpterm access.",
'drops' => "If automatic $gpterm disenrollment is enabled, when a user's role is expired, access to the $gpterm will be terminated unless the user continues to have other ".lc($crstype)."-wide or section-specific active or future roles which receive automatic membership in the $gpterm.",
'pirs' => "Pick roles and sections for automatic $gpterm enrollment",
- 'curr' => 'Currently set to',
'on' => 'on',
'off' => 'off',
'auad' => "Automatically enable $gpterm membership when roles are added?",
@@ -3522,19 +3551,19 @@ sub automapping {
}
$r->print(&Apache::lonhtmlcommon::topic_bar($image,$$lt{'endi'}).'
'.$$lt{'gmma'}.': '.$$lt{'adds'}.'
'.$$lt{'drops'}.'
-
'.$$lt{'auad'}.':
- on off ');
+ '.$$lt{'auad'}.':
+ '.&mt('on').' '.&mt('off').' ');
if ($action eq 'modify') {
- $r->print(' ('.$$lt{'curr'}.' '.$$lt{$add}.' )');
+ $r->print(' ('.&mt('Currently set to [_1].',''.$$lt{$add}.' ').')');
}
$r->print('
-
-
'.$$lt{'auex'}.':
- on off ');
+
+ '.$$lt{'auex'}.':
+ '.&mt('on').' '.&mt('off').' ');
if ($action eq 'modify') {
- $r->print(' ('.$$lt{'curr'}.' '.$$lt{$drop}.' )');
+ $r->print(' ('.&mt('Currently set to [_1].',''.$$lt{$drop}.' ').')');
}
- $r->print(' '.$$lt{'mapr'});
+ $r->print('
'.$$lt{'mapr'});
}
sub mapping_settings {
@@ -3694,16 +3723,16 @@ sub member_privs_entries {
if ($privcount == 3) {
$dynamic .= '
';
}
- $dynamic .=' ';
+ '';
}
}
- $r->print(' '.$fixed.' '.$dynamic.' ');
+ $r->print('
'.$fixed.' '.$dynamic.' ');
} else {
$r->print('
');
}
@@ -3729,17 +3758,19 @@ sub date_setting_table {
'startdate',$starttime);
my $endform = &Apache::lonhtmlcommon::date_setter($formname,
'enddate',$endtime);
- my $perpetual =
- '
'.
- &mt('None').'';
- my $table = "
\n";
+ my $perpetual = '
'
+ .' '
+ .&mt('No end date')
+ .' ';
+ my $table = &Apache::lonhtmlcommon::start_pick_box()
+ .&Apache::lonhtmlcommon::row_title(&mt('Start Date'))
+ .$startform
+ .&Apache::lonhtmlcommon::row_closure()
+ .&Apache::lonhtmlcommon::row_title(&mt('End Date'))
+ .$endform
+ .$perpetual
+ .&Apache::lonhtmlcommon::row_closure(1)
+ .&Apache::lonhtmlcommon::end_pick_box();
return $table;
}
@@ -3747,7 +3778,9 @@ sub add_group_folder {
my ($cdom,$cnum,$now,$groupname,$action,$description,$tools,$groupinfo,
$gpterm,$ucgpterm,$crstype) = @_;
if ($cdom eq '' || $cnum eq '') {
- return &mt('Error: invalid course domain or number - group folder creation failed');
+ return '
'
+ .&mt('Error: invalid course domain or number - group folder creation failed.')
+ .' ';
}
my ($outcome,$allgrpsmap,$grpmap,$boardsmap,$grppage,$warning);
my $crspath = '/uploaded/'.$cdom.'/'.$cnum.'/';
@@ -3757,21 +3790,23 @@ sub add_group_folder {
# check if group_allfolders.sequence exists.
my $mapcontents = &Apache::lonnet::getfile($allgrpsmap);
if ($mapcontents eq '-1') { #file does not exist;
- my $grpstitle = &mt('[_1] [_2]s',$crstype,$ucgpterm);
+ my $grpstitle = &mt("$crstype $ucgpterm".'s');
my $topmap_url = '/'.$env{'course.'.$env{'request.course.id'}.'.url'};
$topmap_url =~ s|/+|/|g;
if ($topmap_url =~ m|^/uploaded|) {
$outcome = &map_updater($cdom,$cnum,'group_allfolders.sequence',
'toplevelgroup',$grpstitle,$topmap_url);
} else {
- $outcome = &mt('Non-standard course - folder for all groups not added.');
+ $outcome = '
'
+ .&mt('Non-standard course - folder for all groups not added.')
+ .' ';
}
if ($outcome ne 'ok') {
my $delresult = &release_folder_lock($cdom,$cnum,'group_allfolders');
if ($delresult ne 'ok') {
$warning = $delresult;
}
- return $outcome;
+ return $outcome.$warning;
}
}
my $delresult = &release_folder_lock($cdom,$cnum,'group_allfolders');
@@ -3779,7 +3814,9 @@ sub add_group_folder {
$warning = $delresult ;
}
} else {
- $outcome = &mt('Could not obtain exclusive lock to check status of the folder for all groups. No group folder added.');
+ $outcome = '
'
+ .&mt('Could not obtain exclusive lock to check status of the folder for all groups. No group folder added.')
+ .' ';
return $outcome;
}
my $grpfolder = &mt($ucgpterm.' Folder - [_1]',$description);
@@ -3810,6 +3847,10 @@ sub add_group_folder {
}
my ($furl,$ferr)= &Apache::lonuserstate::readmap($cdom.'/'.$cnum);
my $navmap = Apache::lonnavmaps::navmap->new();
+ if (!defined($navmap)) {
+ return $warning.'
'.&mt('Error retrieving course contents').
+ ' '.&mt('You need to re-initialize the course.').' ';
+ }
# modify parameters
my $parm_result;
if ($action eq 'create') {
@@ -3855,7 +3896,10 @@ sub release_folder_lock {
my @del_lock = ($folder_name."\0".'locked_folder');
my $dellockoutcome=&Apache::lonnet::del('coursegroups',\@del_lock,$cdom,$cnum);
if ($dellockoutcome ne 'ok') {
- return ('
'.&mt('Warning: failed to release lock for folder: [_1].',$folder_name).'
');
+ return ('
'
+ .&mt('Warning: failed to release lock for folder: [_1].',''.$folder_name.' ')
+ .'
'
+ );
} else {
return 'ok';
}
@@ -3870,12 +3914,16 @@ sub map_updater {
my $newmapurl=&Apache::lonnet::finishuserfileupload($cnum,$cdom,$itemname,
$newfile);
if ($newmapurl !~ m|^/uploaded|) {
- $outcome = &mt('Error uploading new folder.')." ($newfile): $newmapurl".'
';
+ $outcome = '
'
+ .&mt('Error uploading new folder.')." ($newfile): $newmapurl"
+ .'
';
return $outcome;
}
my ($errtext,$fatal)=&LONCAPA::map::mapread($parentmap);
if ($fatal) {
- $outcome = &mt('Error reading contents of parent folder')." ($parentmap): $errtext".'
';
+ $outcome = '
'
+ .&mt('Error reading contents of parent folder.')." ($parentmap): $errtext"
+ .'
';
return $outcome;
} else {
my $newidx=&LONCAPA::map::getresidx($newmapurl);
@@ -3884,7 +3932,9 @@ sub map_updater {
$LONCAPA::map::order[1+$#LONCAPA::map::order]=$newidx;
my ($outtext,$errtext) = &LONCAPA::map::storemap($parentmap,1);
if ($errtext) {
- $outcome = &mt('Error saving updated parent folder')." ($parentmap): $errtext".'
';
+ $outcome = '
'
+ .&mt('Error saving updated parent folder.')." ($parentmap): $errtext"
+ .'
';
return $outcome;
}
}
@@ -3906,6 +3956,13 @@ sub new_map {
sub parm_setter {
my ($navmap,$cdom,$url,$groupname) = @_;
my $allresults;
+ if (!defined($navmap)) {
+ $allresults = '
'.
+ &mt('Parameters not set for [_1] because the contents of the course could not be retrieved.',$url).' '.
+ &mt('You need to reinitialize the course.').
+ '
';
+ return $allresults;
+ }
my %hide_settings = (
'course' => {
'num' => 13,
@@ -3934,7 +3991,10 @@ sub parm_setter {
}
}
} else {
- $allresults = &mt('Parameters not set for [_1] because the resource was not recognized as part of the course',$url).'
';
+ $allresults = '
'
+ .&mt('Parameters not set for [_1] because the resource was not recognized'
+ .' as part of the course.',''.$url.' ')
+ .'
';
}
return $allresults;
}