version 1.230, 2008/01/15 14:34:35
|
version 1.238, 2008/03/12 02:45:06
|
Line 159 END_SCRIPT
|
Line 159 END_SCRIPT
|
$defaultinfo = &mt('For this user, the default quota would be [_1]' |
$defaultinfo = &mt('For this user, the default quota would be [_1]' |
.' Mb.',$defquota); |
.' Mb.',$defquota); |
} else { |
} else { |
$defaultinfo = &mt("For this user, the default quota would be [_1]' |
$defaultinfo = &mt("For this user, the default quota would be [_1]". |
.' Mb, as determined by the user's institutional' |
" Mb, as determined by the user's institutional". |
.' affiliation ([_2]).",$defquota,$longinsttype); |
" affiliation ([_2]).",$defquota,$longinsttype); |
} |
} |
} else { |
} else { |
if ($longinsttype eq '') { |
if ($longinsttype eq '') { |
$defaultinfo = &mt('For this user, the default quota is [_1]' |
$defaultinfo = &mt('For this user, the default quota is [_1]' |
.' Mb.',$defquota); |
.' Mb.',$defquota); |
} else { |
} else { |
$defaultinfo = &mt("For this user, the default quota of [_1]' |
$defaultinfo = &mt("For this user, the default quota of [_1]". |
.' Mb, is determined by the user's institutional' |
" Mb, is determined by the user's institutional". |
.' affiliation ([_2]).",$defquota,$longinsttype); |
" affiliation ([_2]).",$defquota,$longinsttype); |
} |
} |
} |
} |
my $output = $quota_javascript. |
my $output = $quota_javascript. |
Line 355 ENDBLOCK
|
Line 355 ENDBLOCK
|
<input type="hidden" name="action" value="$env{'form.action'}" /> |
<input type="hidden" name="action" value="$env{'form.action'}" /> |
<input type="hidden" name="phase" value="createnewuser" /> |
<input type="hidden" name="phase" value="createnewuser" /> |
<input type="hidden" name="srchtype" value="exact" /> |
<input type="hidden" name="srchtype" value="exact" /> |
<input type="hidden" name="srchby" value="username" /> |
<input type="hidden" name="srchby" value="uname" /> |
<input type="hidden" name="srchin" value="dom" /> |
<input type="hidden" name="srchin" value="dom" /> |
<input type="hidden" name="forcenewuser" value="1" /> |
<input type="hidden" name="forcenewuser" value="1" /> |
<input type="hidden" name="origform" value="crtusername" /> |
<input type="hidden" name="origform" value="crtusername" /> |
Line 603 sub print_user_modification_page {
|
Line 603 sub print_user_modification_page {
|
|
|
my $js = &validation_javascript($context,$ccdomain,$pjump_def, |
my $js = &validation_javascript($context,$ccdomain,$pjump_def, |
$groupslist,$newuser,$formname,\%loaditem); |
$groupslist,$newuser,$formname,\%loaditem); |
|
my $args = {'add_entries' => \%loaditem}; |
|
if ($env{'form.popup'}) { |
|
$args->{'no_nav_bar'} = 1; |
|
} |
my $start_page = |
my $start_page = |
&Apache::loncommon::start_page('User Management', |
&Apache::loncommon::start_page('User Management',$js,$args); |
$js,{'add_entries' => \%loaditem,}); |
|
my %breadcrumb_text = &singleuser_breadcrumb(); |
my %breadcrumb_text = &singleuser_breadcrumb(); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage($form)", |
({href=>"javascript:backPage($form)", |
Line 1318 ENDBADAUTH
|
Line 1321 ENDBADAUTH
|
$outcome .= <<ENDNOPRIV; |
$outcome .= <<ENDNOPRIV; |
<h3>$lt{'ccld'}</h3> |
<h3>$lt{'ccld'}</h3> |
$lt{'yodo'} $lt{'ifch'}: $ccdomain |
$lt{'yodo'} $lt{'ifch'}: $ccdomain |
|
<input type="hidden" name="login" value="nochange" /> |
ENDNOPRIV |
ENDNOPRIV |
} |
} |
} |
} |
Line 1486 sub update_user_data {
|
Line 1490 sub update_user_data {
|
my $jscript = '<script type="text/javascript">'."\n". |
my $jscript = '<script type="text/javascript">'."\n". |
$jsback."\n".'</script>'."\n"; |
$jsback."\n".'</script>'."\n"; |
my %breadcrumb_text = &singleuser_breadcrumb(); |
my %breadcrumb_text = &singleuser_breadcrumb(); |
$r->print(&Apache::loncommon::start_page($title,$jscript)); |
my $args; |
|
if ($env{'form.popup'}) { |
|
$args->{'no_nav_bar'} = 1; |
|
} else { |
|
$args = undef; |
|
} |
|
$r->print(&Apache::loncommon::start_page($title,$jscript,$args)); |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
({href=>"javascript:backPage(document.userupdate)", |
({href=>"javascript:backPage(document.userupdate)", |
text=>$breadcrumb_text{'search'}, |
text=>$breadcrumb_text{'search'}, |
Line 1636 sub update_user_data {
|
Line 1646 sub update_user_data {
|
$r->print(&mt('Generating user').': '.$result); |
$r->print(&mt('Generating user').': '.$result); |
$uhome = &Apache::lonnet::homeserver($env{'form.ccuname'}, |
$uhome = &Apache::lonnet::homeserver($env{'form.ccuname'}, |
$env{'form.ccdomain'}); |
$env{'form.ccdomain'}); |
|
if (($uhome ne 'no_host') && ($env{'form.customquota'} == 1)) { |
|
my (%changeHash,$newportfolioquota); |
|
if ($env{'form.portfolioquota'} eq '') { |
|
$newportfolioquota = 0; |
|
} else { |
|
$newportfolioquota = $env{'form.portfolioquota'}; |
|
$newportfolioquota =~ s/[^\d\.]//g; |
|
} |
|
my $quotachanged = "a_admin($newportfolioquota,\%changeHash); |
|
if ($quotachanged) { |
|
$changeHash{'firstname'} = $env{'form.cfirstname'}; |
|
$changeHash{'middlename'} = $env{'form.cmiddlename'}; |
|
$changeHash{'lastname'} = $env{'form.clastname'}; |
|
$changeHash{'generation'} = $env{'form.cgeneration'}; |
|
$changeHash{'id'} = $env{'form.cid'}; |
|
$changeHash{'permanentemail'} = $env{'form.cpermanentemail'}; |
|
my $quotachgresult = |
|
&Apache::lonnet::put('environment',\%changeHash, |
|
$env{'form.ccdomain'},$env{'form.ccuname'}); |
|
} |
|
} |
$r->print('<br />'.&mt('Home server').': '.$uhome.' '. |
$r->print('<br />'.&mt('Home server').': '.$uhome.' '. |
&Apache::lonnet::hostname($uhome)); |
&Apache::lonnet::hostname($uhome)); |
} elsif (($env{'form.login'} ne 'nochange') && |
} elsif (($env{'form.login'} ne 'nochange') && |
Line 1955 END
|
Line 1986 END
|
foreach my $key (keys(%changeHash)) { |
foreach my $key (keys(%changeHash)) { |
$newenvhash{'environment.'.$key} = $changeHash{$key}; |
$newenvhash{'environment.'.$key} = $changeHash{$key}; |
} |
} |
&Apache::lonnet::appenv(%newenvhash); |
&Apache::lonnet::appenv(\%newenvhash); |
} |
} |
} else { # error occurred |
} else { # error occurred |
$r->print('<span class="LC_error">'.&mt('Unable to successfully change environment for').' '. |
$r->print('<span class="LC_error">'.&mt('Unable to successfully change environment for').' '. |
Line 2033 END
|
Line 2064 END
|
} |
} |
} |
} |
my $userinfo = &Apache::loncommon::plainname($env{'form.ccuname'}, |
my $userinfo = &Apache::loncommon::plainname($env{'form.ccuname'}, |
$env{'form.ccdomain'}); |
$env{'form.ccdomain'}); |
$r->print('<p><a href="javascript:backPage(document.userupdate,'."'$env{'form.prevphase'}','modify'".')">'.&mt('Modify this user: <span class="LC_cusr_emph">([_1])</span>',$userinfo).'</a>'.(' 'x5).'<a href="javascript:backPage(document.userupdate)">'.&mt('Create/Modify Another User').'</a></p>'); |
if ($env{'form.popup'}) { |
|
$r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a></p>'); |
|
} else { |
|
$r->print('<p><a href="javascript:backPage(document.userupdate,'."'$env{'form.prevphase'}','modify'".')">'.&mt('Modify this user: <span class="LC_cusr_emph">([_1])</span>',$userinfo).'</a>'.(' 'x5).'<a href="javascript:backPage(document.userupdate)">'.&mt('Create/Modify Another User').'</a></p>'); |
|
} |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
} |
} |
Line 2521 sub custom_role_editor {
|
Line 2556 sub custom_role_editor {
|
'crl' => "Course Level", |
'crl' => "Course Level", |
'dml' => "Domain Level", |
'dml' => "Domain Level", |
'ssl' => "System Level"); |
'ssl' => "System Level"); |
$r->print('Select a Template<br />'); |
$r->print(&mt('Select a Template').'<br />'); |
$r->print('<form action="">'); |
$r->print('<form action="">'); |
$r->print($button_code); |
$r->print($button_code); |
$r->print('</form>'); |
$r->print('</form>'); |
Line 2731 sub handler {
|
Line 2766 sub handler {
|
$context = 'domain'; |
$context = 'domain'; |
} |
} |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['action','state','callingform','roletype','showrole','bulkaction']); |
['action','state','callingform','roletype','showrole','bulkaction','popup','phase', |
|
'username','domain','srchterm','srchdomain','srchin','srchby','srchtype']); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
if ($env{'form.action'} ne 'dateselect') { |
if ($env{'form.action'} ne 'dateselect') { |
&Apache::lonhtmlcommon::add_breadcrumb |
&Apache::lonhtmlcommon::add_breadcrumb |
Line 2934 sub handler {
|
Line 2970 sub handler {
|
'<span class="LC_error">'.&mt('You do not have permission to modify dates or sections for users').'</span>'. |
'<span class="LC_error">'.&mt('You do not have permission to modify dates or sections for users').'</span>'. |
&Apache::loncommon::end_page()); |
&Apache::loncommon::end_page()); |
} |
} |
|
} elsif ($env{'form.action'} eq 'selfenroll') { |
|
$r->print(&header()); |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>'/adm/createuser?action=selfenroll', |
|
text=>"Configure Self-enrollment"}); |
|
if (!exists($env{'form.state'})) { |
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Configure Self-enrollment', |
|
'Course_Self_Enrollment')); |
|
|
|
&print_selfenroll_menu($r,$context,$permission); |
|
} elsif ($env{'form.state'} eq 'done') { |
|
&Apache::lonhtmlcommon::add_breadcrumb |
|
({href=>'/adm/createuser?action=selfenroll', |
|
text=>"Result"}); |
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Self-enrollment result', |
|
'Course_Self_Enrollment')); |
|
&update_selfenroll_config($r,$context); |
|
} |
|
$r->print(&Apache::loncommon::end_page()); |
} else { |
} else { |
$r->print(&header()); |
$r->print(&header()); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); |
$r->print(&Apache::lonhtmlcommon::breadcrumbs('User Management')); |
Line 3042 sub print_main_menu {
|
Line 3097 sub print_main_menu {
|
permission => (&Apache::lonnet::auto_run($cnum,$cdom) |
permission => (&Apache::lonnet::auto_run($cnum,$cdom) |
&& $permission->{'cusr'}), |
&& $permission->{'cusr'}), |
url => '/adm/populate', |
url => '/adm/populate', |
}); |
}, |
|
{ text => 'Configure User Self-enrollment', |
|
help => 'Course_Self_Enrollment', |
|
action => 'selfenroll', |
|
permission => $permission->{'cusr'}, |
|
}); |
} |
} |
push(@courselinks, |
push(@courselinks, |
{ text => 'Manage Course Groups', |
{ text => 'Manage Course Groups', |
Line 3056 sub print_main_menu {
|
Line 3116 sub print_main_menu {
|
foreach my $menu_item (@menu) { |
foreach my $menu_item (@menu) { |
next if (! $menu_item->{'permission'}); |
next if (! $menu_item->{'permission'}); |
$menu_html.='<p>'; |
$menu_html.='<p>'; |
|
if (exists($menu_item->{'help'})) { |
|
$menu_html.= |
|
&Apache::loncommon::help_open_topic($menu_item->{'help'}); |
|
} |
$menu_html.='<font size="+1">'; |
$menu_html.='<font size="+1">'; |
if (exists($menu_item->{'url'})) { |
if (exists($menu_item->{'url'})) { |
$menu_html.=qq{<a href="$menu_item->{'url'}">}; |
$menu_html.=qq{<a href="$menu_item->{'url'}">}; |
Line 3064 sub print_main_menu {
|
Line 3128 sub print_main_menu {
|
qq{<a href="/adm/createuser?action=$menu_item->{'action'}">}; |
qq{<a href="/adm/createuser?action=$menu_item->{'action'}">}; |
} |
} |
$menu_html.= &mt($menu_item->{'text'}).'</a></font>'; |
$menu_html.= &mt($menu_item->{'text'}).'</a></font>'; |
if (exists($menu_item->{'help'})) { |
|
$menu_html.= |
|
&Apache::loncommon::help_open_topic($menu_item->{'help'}); |
|
} |
|
$menu_html.='</p>'; |
$menu_html.='</p>'; |
} |
} |
return $menu_html; |
return $menu_html; |
Line 3084 sub restore_prev_selections {
|
Line 3144 sub restore_prev_selections {
|
\%saveable_parameters); |
\%saveable_parameters); |
} |
} |
|
|
|
sub print_selfenroll_menu { |
|
my ($r,$context,$permission) = @_; |
|
my $formname = 'enrollstudent'; |
|
my $nolink = 1; |
|
my ($row,$lt) = &get_selfenroll_titles(); |
|
my $groupslist = &Apache::lonuserutils::get_groupslist(); |
|
my $setsec_js = |
|
&Apache::lonuserutils::setsections_javascript($formname,$groupslist); |
|
my $output = '<script type="text/javascript">'."\n". |
|
$setsec_js."\n". |
|
'</script>'."\n". |
|
'<h3>'.$lt->{'selfenroll'}.'</h3>'."\n". |
|
'<form name="'.$formname.'" method="post">'."\n". |
|
&Apache::lonhtmlcommon::start_pick_box(); |
|
if (ref($row) eq 'ARRAY') { |
|
foreach my $item (@{$row}) { |
|
my $title = $item; |
|
if (ref($lt) eq 'HASH') { |
|
$title = $lt->{$item}; |
|
} |
|
$output .= |
|
&Apache::lonhtmlcommon::row_title($title, |
|
'LC_selfenroll_pick_box_title','LC_oddrow_value')."\n"; |
|
if ($item eq 'types') { |
|
my $curr_types = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_types'}; |
|
$output .= '<input type="text" name="selfenroll_types" value="'.$curr_types.'" size="50" />'; |
|
} elsif ($item eq 'registered') { |
|
my ($regon,$regoff); |
|
if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_registered'}) { |
|
$regon = ' checked="checked" '; |
|
$regoff = ' '; |
|
} else { |
|
$regon = ' '; |
|
$regoff = ' checked="checked" '; |
|
} |
|
$output .= '<label>'. |
|
'<input type="radio" name="registered" value="0"'.$regoff.'/>'. |
|
&mt('No').'</label> <label>'. |
|
'<input type="radio" name="registered" value="1"'.$regon.'/>'. |
|
&mt('Yes').'</label>'; |
|
} elsif ($item eq 'enroll_dates') { |
|
my $starttime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_start_date'}; |
|
my $endtime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_end_date'}; |
|
if ($starttime eq '') { |
|
$starttime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_start_date'}; |
|
} |
|
if ($endtime eq '') { |
|
$endtime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_end_date'}; |
|
} |
|
my $startform = |
|
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_date',$starttime, |
|
undef,undef,undef,undef,undef,undef,undef,$nolink); |
|
my $endform = |
|
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_end_date',$endtime, |
|
undef,undef,undef,undef,undef,undef,undef,$nolink); |
|
$output .= &selfenroll_date_forms($startform,$endform); |
|
} elsif ($item eq 'access_dates') { |
|
my $starttime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_start_access'}; |
|
my $endtime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_end_access'}; |
|
if ($starttime eq '') { |
|
$starttime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_start_date'}; |
|
} |
|
if ($endtime eq '') { |
|
$endtime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_end_date'}; |
|
} |
|
my $startform = |
|
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_access',$starttime, |
|
undef,undef,undef,undef,undef,undef,undef,$nolink); |
|
my $endform = |
|
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_end_access',$endtime, |
|
undef,undef,undef,undef,undef,undef,undef,$nolink); |
|
$output .= &selfenroll_date_forms($startform,$endform); |
|
} elsif ($item eq 'section') { |
|
my $currsec = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_section'}; |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'},'.num'}; |
|
my %sections_count = &Apache::loncommon::get_sections($cdom,$cnum); |
|
my $newsecval; |
|
if ($currsec ne 'none' && $currsec ne '') { |
|
if (!defined($sections_count{$currsec})) { |
|
$newsecval = $currsec; |
|
} |
|
} |
|
my $sections_select = |
|
&Apache::lonuserutils::course_sections(\%sections_count,'st',$currsec); |
|
$output .= '<table class="LC_createuser">'."\n". |
|
'<tr class="LC_section_row">'."\n". |
|
'<td align="center">'.&mt('Existing sections')."\n". |
|
'<br />'.$sections_select.'</td><td align="center">'. |
|
&mt('New section').'<br />'."\n". |
|
'<input type="text" name="newsec" size="15" value="'.$newsecval.'" />'."\n". |
|
'<input type="hidden" name="sections" value="" />'."\n". |
|
'<input type="hidden" name="state" value="done" />'."\n". |
|
'</td></tr></table>'."\n"; |
|
} |
|
$output .= &Apache::lonhtmlcommon::row_closure(1); |
|
} |
|
} |
|
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
|
'<br /><input type="button" name="selfenrollconf" value="'. |
|
&mt('Save changes').'" onclick="setSections(this.form);" /></form>'; |
|
$r->print($output); |
|
return; |
|
} |
|
|
|
sub selfenroll_date_forms { |
|
my ($startform,$endform) = @_; |
|
my $output .= &Apache::lonhtmlcommon::start_pick_box()."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('Starts'), |
|
'LC_oddrow_value')."\n". |
|
$startform."\n". |
|
&Apache::lonhtmlcommon::row_closure(1). |
|
&Apache::lonhtmlcommon::row_title(&mt('Ends'), |
|
'LC_oddrow_value')."\n". |
|
$endform."\n". |
|
&Apache::lonhtmlcommon::row_closure(1). |
|
&Apache::lonhtmlcommon::end_pick_box(); |
|
return $output; |
|
} |
|
|
#-------------------------------------------------- functions for &phase_two |
#-------------------------------------------------- functions for &phase_two |
sub user_search_result { |
sub user_search_result { |
my ($context,$srch) = @_; |
my ($context,$srch) = @_; |
Line 3690 sub course_level_dc {
|
Line 3870 sub course_level_dc {
|
'<td> </td>'. |
'<td> </td>'. |
'<td valign="top"> <b>'.$lt{'new'}.'</b><br />'. |
'<td valign="top"> <b>'.$lt{'new'}.'</b><br />'. |
'<input type="text" name="newsec" value="" />'. |
'<input type="text" name="newsec" value="" />'. |
'<input type="hidden" name="sections" value="" />'. |
'<input type="hidden" name="section" value="" />'. |
'<input type="hidden" name="groups" value="" /></td>'. |
'<input type="hidden" name="groups" value="" /></td>'. |
'</tr></table></td>'; |
'</tr></table></td>'; |
$otheritems .= <<ENDTIMEENTRY; |
$otheritems .= <<ENDTIMEENTRY; |
Line 3706 ENDTIMEENTRY
|
Line 3886 ENDTIMEENTRY
|
return $cb_jscript.$header.$hiddenitems.$otheritems; |
return $cb_jscript.$header.$hiddenitems.$otheritems; |
} |
} |
|
|
|
sub update_selfenroll_config { |
|
my ($r,$context) = @_; |
|
my ($row,$lt) = &get_selfenroll_titles(); |
|
my $groupslist = &Apache::lonuserutils::get_groupslist(); |
|
my (%changes,%warning); |
|
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
$r->print('<h3>'.$lt->{'selfenroll'}.'</h3>'."\n"); |
|
if (ref($row) eq 'ARRAY') { |
|
foreach my $item (@{$row}) { |
|
if ($item eq 'enroll_dates') { |
|
my (%currenrolldate,%newenrolldate); |
|
foreach my $type ('start','end') { |
|
$currenrolldate{$type} = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$type.'_date'}; |
|
$newenrolldate{$type} = &Apache::lonhtmlcommon::get_date_from_form('selfenroll_'.$type.'_date'); |
|
if ($newenrolldate{$type} ne $currenrolldate{$type}) { |
|
$changes{'internal.selfenroll_'.$type.'_date'} = $newenrolldate{$type}; |
|
} |
|
} |
|
} elsif ($item eq 'access_dates') { |
|
my (%currdate,%newdate); |
|
foreach my $type ('start','end') { |
|
$currdate{$type} = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$type.'_access'}; |
|
$newdate{$type} = &Apache::lonhtmlcommon::get_date_from_form('selfenroll_'.$type.'_access'); |
|
if ($newdate{$type} ne $currdate{$type}) { |
|
$changes{'internal.selfenroll_'.$type.'_access'} = $newdate{$type}; |
|
} |
|
} |
|
} else { |
|
my $curr_val = |
|
$env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$item}; |
|
my $newval = $env{'form.selfenroll_'.$item}; |
|
if ($item eq 'section') { |
|
$newval = $env{'form.sections'}; |
|
if (grep(/^\Q$newval\E$/,keys(%{$groupslist}))) { |
|
$newval = $curr_val; |
|
$warning{$item} = &mt('Section for self-enrolled users unchanged as the proposed section is a group').'<br />'.&mt('Group names and section names must be distinct'); |
|
} elsif ($newval eq 'all') { |
|
$newval = $curr_val; |
|
$warning{$item} = &mt("Section for self-enrolled users unchanged, as 'all' is a reserved section name."); |
|
} |
|
if ($newval eq '') { |
|
$newval = 'none'; |
|
} |
|
} |
|
if ($newval ne $curr_val) { |
|
$changes{'internal.selfenroll_'.$item} = $newval; |
|
} |
|
} |
|
} |
|
if (keys(%warning) > 0) { |
|
foreach my $item (@{$row}) { |
|
if (exists($warning{$item})) { |
|
$r->print($warning{$item}.'<br />'); |
|
} |
|
} |
|
} |
|
if (keys(%changes) > 0) { |
|
my $putresult = &Apache::lonnet::put('environment',\%changes,$cdom,$cnum); |
|
if ($putresult eq 'ok') { |
|
if ((exists($changes{'internal.selfenroll_types'})) || |
|
(exists($changes{'internal.selfenroll_start_date'})) || |
|
(exists($changes{'internal.selfenroll_end_date'}))) { |
|
my %crsinfo = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.', |
|
$cnum,undef,undef,'Course'); |
|
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
|
if (ref($crsinfo{$env{'request.course.id'}}) eq 'HASH') { |
|
foreach my $item ('selfenroll_types','selfenroll_start_date','selfenroll_end_date') { |
|
if (exists($changes{'internal.'.$item})) { |
|
$crsinfo{$env{'request.course.id'}}{$item} = |
|
$changes{'internal.'.$item}; |
|
} |
|
} |
|
my $crsputresult = |
|
&Apache::lonnet::courseidput($cdom,\%crsinfo, |
|
$chome,'notime'); |
|
} |
|
} |
|
$r->print(&mt('The following changes were made to self-enrollment settings:').'<ul>'); |
|
foreach my $item (@{$row}) { |
|
my $title = $item; |
|
if (ref($lt) eq 'HASH') { |
|
$title = $lt->{$item}; |
|
} |
|
if ($item eq 'enroll_dates') { |
|
foreach my $type ('start','end') { |
|
if (exists($changes{'internal.selfenroll_'.$type.'_date'})) { |
|
my $newdate = &Apache::lonlocal::locallocaltime($changes{'internal.selfenroll_'.$type.'_date'}); |
|
$r->print('<li>'.&mt('[_1]: [_2] set to "[_3]".', |
|
$title,$type,$newdate).'</li>'); |
|
} |
|
} |
|
} elsif ($item eq 'access_dates') { |
|
foreach my $type ('start','end') { |
|
if (exists($changes{'internal.selfenroll_'.$type.'_access'})) { |
|
my $newdate = &Apache::lonlocal::locallocaltime($changes{'internal.selfenroll_'.$type.'_access'}); |
|
$r->print('<li>'.&mt('[_1]: [_2] set to "[_3]".', |
|
$title,$type,$newdate).'</li>'); |
|
} |
|
} |
|
} else { |
|
if (exists($changes{'internal.selfenroll_'.$item})) { |
|
$r->print('<li>'.&mt('[_1] set to "[_2]".',$title, |
|
$changes{'internal.selfenroll_'.$item}).'</li>'."\n"); |
|
} |
|
} |
|
} |
|
$r->print('</ul>'); |
|
my %newenvhash; |
|
foreach my $key (keys(%changes)) { |
|
$newenvhash{'course.'.$env{'request.course.id'}.'.'.$key} = $changes{$key}; |
|
} |
|
&Apache::lonnet::appenv(\%newenvhash); |
|
} else { |
|
$r->print(&mt('An error occurred when saving changes to self-enrollment settings in this course.').'<br />'.&mt('The error was: [_1].',$putresult)); |
|
} |
|
} else { |
|
$r->print(&mt('No changes were needed to the existing self-enrollment settings in this course.')); |
|
} |
|
} else { |
|
$r->print(&mt('No changes were needed to the existing self-enrollment settings in this course.')); |
|
} |
|
return; |
|
} |
|
|
|
sub get_selfenroll_titles { |
|
my @row = ('types','registered','enroll_dates','access_dates','section'); |
|
my %lt = &Apache::lonlocal::texthash ( |
|
selfenroll => 'Self-enrollment with a student role', |
|
types => 'Users allowed to self-enroll in this course', |
|
registered => 'Restrict self-enrollment to registered students?', |
|
enroll_dates => 'Dates self-enrollment available', |
|
access_dates => 'Access dates for self-enrolled users', |
|
section => 'Section', |
|
); |
|
return (\@row,\%lt); |
|
} |
|
|
#---------------------------------------------- end functions for &phase_two |
#---------------------------------------------- end functions for &phase_two |
|
|
#--------------------------------- functions for &phase_two and &phase_three |
#--------------------------------- functions for &phase_two and &phase_three |