version 1.390, 2014/02/11 17:34:41
|
version 1.398, 2014/03/31 02:31:05
|
Line 1271 ENDTITLE
|
Line 1271 ENDTITLE
|
} |
} |
$r->print('<h2>'.$title.'</h2>'."\n"); |
$r->print('<h2>'.$title.'</h2>'."\n"); |
$r->print('<div class="LC_left_float">'); |
$r->print('<div class="LC_left_float">'); |
my $personal_table = |
$r->print(&personal_data_display($ccuname,$ccdomain,$newuser,$context, |
&personal_data_display($ccuname,$ccdomain,$newuser,$context, |
$inst_results{$ccuname.':'.$ccdomain})); |
$inst_results{$ccuname.':'.$ccdomain}); |
# Option to disable student/employee ID conflict checking not offerred for new users. |
# (Do not offer Disable Safeguard here) |
|
$r->print($personal_table); |
|
my ($home_server_pick,$numlib) = |
my ($home_server_pick,$numlib) = |
&Apache::loncommon::home_server_form_item($ccdomain,'hserver', |
&Apache::loncommon::home_server_form_item($ccdomain,'hserver', |
'default','hide'); |
'default','hide'); |
Line 1376 ENDAUTH
|
Line 1374 ENDAUTH
|
} |
} |
$r->print('<h2>'.$title.'</h2>'."\n"); |
$r->print('<h2>'.$title.'</h2>'."\n"); |
$r->print('<div class="LC_left_float">'); |
$r->print('<div class="LC_left_float">'); |
my $personal_table = |
$r->print(&personal_data_display($ccuname,$ccdomain,$newuser,$context, |
&personal_data_display($ccuname,$ccdomain,$newuser,$context, |
$inst_results{$ccuname.':'.$ccdomain})); |
$inst_results{$ccuname.':'.$ccdomain}); |
|
$r->print($personal_table); |
|
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) { |
$r->print('<br /><h3>'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'</h3>'. |
$r->print('<br /><h3>'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'</h3>'. |
&Apache::loncommon::start_data_table()); |
&Apache::loncommon::start_data_table()); |
Line 1475 ENDNOTOOLSPRIV
|
Line 1471 ENDNOTOOLSPRIV
|
} |
} |
$r->print('<br /><input type="button" value="'.$btntxt.'" onclick="setSections(this.form)" />'."\n"); |
$r->print('<br /><input type="button" value="'.$btntxt.'" onclick="setSections(this.form)" />'."\n"); |
} else { |
} else { |
$r->print('<fieldset><legend>'.&mt('Add Roles').'</legend>'); |
$r->print('<div class="LC_left_float">'. |
|
'<fieldset><legend>'.&mt('Add Roles').'</legend>'); |
my $addrolesdisplay = 0; |
my $addrolesdisplay = 0; |
if ($context eq 'domain' || $context eq 'author') { |
if ($context eq 'domain' || $context eq 'author') { |
$addrolesdisplay = &new_coauthor_roles($r,$ccuname,$ccdomain); |
$addrolesdisplay = &new_coauthor_roles($r,$ccuname,$ccdomain); |
Line 1486 ENDNOTOOLSPRIV
|
Line 1483 ENDNOTOOLSPRIV
|
$addrolesdisplay = $add_domainroles; |
$addrolesdisplay = $add_domainroles; |
} |
} |
$r->print(&course_level_dc($env{'request.role.domain'},$showcredits)); |
$r->print(&course_level_dc($env{'request.role.domain'},$showcredits)); |
$r->print('</fieldset><br /><input type="button" value="'.&mt('Save').'" onclick="setCourse()" />'."\n"); |
$r->print('</fieldset></div><div class="LC_clear_float_footer"></div>'. |
|
'<br /><input type="button" value="'.&mt('Save').'" onclick="setCourse()" />'."\n"); |
} elsif ($context eq 'author') { |
} elsif ($context eq 'author') { |
if ($addrolesdisplay) { |
if ($addrolesdisplay) { |
$r->print('</fieldset><br /><input type="button" value="'.&mt('Save').'"'); |
$r->print('</fieldset></div><div class="LC_clear_float_footer"></div>'. |
|
'<br /><input type="button" value="'.&mt('Save').'"'); |
if ($newuser) { |
if ($newuser) { |
$r->print(' onclick="auth_check()" \>'."\n"); |
$r->print(' onclick="auth_check()" \>'."\n"); |
} else { |
} else { |
$r->print('onclick="this.form.submit()" \>'."\n"); |
$r->print('onclick="this.form.submit()" \>'."\n"); |
} |
} |
} else { |
} else { |
$r->print('</fieldset><br /><a href="javascript:backPage(document.cu)">'. |
$r->print('</fieldset></div>'. |
|
'<div class="LC_clear_float_footer"></div>'. |
|
'<br /><a href="javascript:backPage(document.cu)">'. |
&mt('Back to previous page').'</a>'); |
&mt('Back to previous page').'</a>'); |
} |
} |
} else { |
} else { |
$r->print(&course_level_table(\%inccourses,$showcredits,$defaultcredits)); |
$r->print(&course_level_table(\%inccourses,$showcredits,$defaultcredits)); |
$r->print('</fieldset><br /><input type="button" value="'.&mt('Save').'" onclick="setSections(this.form)" />'."\n"); |
$r->print('</fieldset></div><div class="LC_clear_float_footer"></div>'. |
|
'<br /><input type="button" value="'.&mt('Save').'" onclick="setSections(this.form)" />'."\n"); |
} |
} |
} |
} |
$r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); |
$r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain'])); |
$r->print('<input type="hidden" name="currstate" value="" />'); |
$r->print('<input type="hidden" name="currstate" value="" />'); |
$r->print('<input type="hidden" name="prevphase" value="'.$env{'form.phase'}.'" /></form>'); |
$r->print('<input type="hidden" name="prevphase" value="'.$env{'form.phase'}.'" /></form><br /><br />'); |
return; |
return; |
} |
} |
|
|
Line 1811 sub display_existing_roles {
|
Line 1813 sub display_existing_roles {
|
} |
} |
} else { |
} else { |
$plaintext= |
$plaintext= |
&mt('Customrole [_1][_2]defined by [_3]', |
&mt('Custom role [_1][_2]defined by [_3]', |
'"'.$croletitle.'"', |
'"'.$croletitle.'"', |
'<br />', |
'<br />', |
$croleuname.':'.$croleudom); |
$croleuname.':'.$croleudom); |
Line 1861 sub display_existing_roles {
|
Line 1863 sub display_existing_roles {
|
} else { |
} else { |
$contextrole = &mt('Existing Roles in this Domain'); |
$contextrole = &mt('Existing Roles in this Domain'); |
} |
} |
$r->print('<div>'. |
$r->print('<div class="LC_left_float">'. |
'<fieldset><legend>'.$contextrole.'</legend>'. |
'<fieldset><legend>'.$contextrole.'</legend>'. |
&Apache::loncommon::start_data_table("LC_createuser"). |
&Apache::loncommon::start_data_table("LC_createuser"). |
&Apache::loncommon::start_data_table_header_row(). |
&Apache::loncommon::start_data_table_header_row(). |
Line 2161 sub modify_login_block {
|
Line 2163 sub modify_login_block {
|
} |
} |
|
|
sub personal_data_display { |
sub personal_data_display { |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray) = @_; |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray, |
|
$now,$captchaform,$emailusername,$usertype) = @_; |
my ($output,%userenv,%canmodify,%canmodify_status); |
my ($output,%userenv,%canmodify,%canmodify_status); |
my @userinfo = ('firstname','middlename','lastname','generation', |
my @userinfo = ('firstname','middlename','lastname','generation', |
'permanentemail','id'); |
'permanentemail','id'); |
my $rowcount = 0; |
my $rowcount = 0; |
my $editable = 0; |
my $editable = 0; |
%canmodify_status = |
my %textboxsize = ( |
|
firstname => '15', |
|
middlename => '15', |
|
lastname => '15', |
|
generation => '5', |
|
permanentemail => '25', |
|
id => '15', |
|
); |
|
|
|
my %lt=&Apache::lonlocal::texthash( |
|
'pd' => "Personal Data", |
|
'firstname' => "First Name", |
|
'middlename' => "Middle Name", |
|
'lastname' => "Last Name", |
|
'generation' => "Generation", |
|
'permanentemail' => "Permanent e-mail address", |
|
'id' => "Student/Employee ID", |
|
'lg' => "Login Data", |
|
'inststatus' => "Affiliation", |
|
'email' => 'E-mail address', |
|
'valid' => 'Validation', |
|
); |
|
|
|
%canmodify_status = |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
['inststatus'],$rolesarray); |
['inststatus'],$rolesarray); |
if (!$newuser) { |
if (!$newuser) { |
Line 2179 sub personal_data_display {
|
Line 2205 sub personal_data_display {
|
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
&Apache::lonuserutils::can_modify_userinfo($context,$ccdomain, |
\@userinfo,$rolesarray); |
\@userinfo,$rolesarray); |
} elsif ($context eq 'selfcreate') { |
} elsif ($context eq 'selfcreate') { |
%canmodify = &selfcreate_canmodify($context,$ccdomain,\@userinfo, |
if ($newuser eq 'email') { |
$inst_results,$rolesarray); |
if (ref($emailusername) eq 'HASH') { |
|
if (ref($emailusername->{$usertype}) eq 'HASH') { |
|
my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info(); |
|
@userinfo = (); |
|
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
|
foreach my $field (@{$infofields}) { |
|
if ($emailusername->{$usertype}->{$field}) { |
|
push(@userinfo,$field); |
|
$canmodify{$field} = 1; |
|
unless ($textboxsize{$field}) { |
|
$textboxsize{$field} = 25; |
|
} |
|
unless ($lt{$field}) { |
|
$lt{$field} = $infotitles->{$field}; |
|
} |
|
if ($emailusername->{$usertype}->{$field} eq 'required') { |
|
$lt{$field} .= '<b>*</b>'; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} else { |
|
%canmodify = &selfcreate_canmodify($context,$ccdomain,\@userinfo, |
|
$inst_results,$rolesarray); |
|
} |
} |
} |
my %lt=&Apache::lonlocal::texthash( |
|
'pd' => "Personal Data", |
|
'firstname' => "First Name", |
|
'middlename' => "Middle Name", |
|
'lastname' => "Last Name", |
|
'generation' => "Generation", |
|
'permanentemail' => "Permanent e-mail address", |
|
'id' => "Student/Employee ID", |
|
'lg' => "Login Data", |
|
'inststatus' => "Affiliation", |
|
); |
|
my %textboxsize = ( |
|
firstname => '15', |
|
middlename => '15', |
|
lastname => '15', |
|
generation => '5', |
|
permanentemail => '25', |
|
id => '15', |
|
); |
|
my $genhelp=&Apache::loncommon::help_open_topic('Generation'); |
my $genhelp=&Apache::loncommon::help_open_topic('Generation'); |
$output = '<h3>'.$lt{'pd'}.'</h3>'. |
$output = '<h3>'.$lt{'pd'}.'</h3>'. |
&Apache::lonhtmlcommon::start_pick_box(); |
&Apache::lonhtmlcommon::start_pick_box(); |
|
if (($context eq 'selfcreate') && ($newuser eq 'email')) { |
|
$output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'<b>*</b>',undef, |
|
'LC_oddrow_value')."\n". |
|
'<input type="text" name="uname" size="25" value="" autocomplete="off" />'; |
|
$rowcount ++; |
|
$output .= &Apache::lonhtmlcommon::row_closure(1); |
|
my $upassone = '<input type="password" name="upass'.$now.'" size="10" autocomplete="off" />'; |
|
my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="10" autocomplete="off" />'; |
|
$output .= &Apache::lonhtmlcommon::row_title(&mt('Password').'<b>*</b>', |
|
'LC_pick_box_title', |
|
'LC_oddrow_value')."\n". |
|
$upassone."\n". |
|
&Apache::lonhtmlcommon::row_closure(1)."\n". |
|
&Apache::lonhtmlcommon::row_title(&mt('Confirm password').'<b>*</b>', |
|
'LC_pick_box_title', |
|
'LC_oddrow_value')."\n". |
|
$upasstwo. |
|
&Apache::lonhtmlcommon::row_closure()."\n"; |
|
} |
foreach my $item (@userinfo) { |
foreach my $item (@userinfo) { |
my $rowtitle = $lt{$item}; |
my $rowtitle = $lt{$item}; |
my $hiderow = 0; |
my $hiderow = 0; |
Line 2217 sub personal_data_display {
|
Line 2270 sub personal_data_display {
|
$row .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item}; |
$row .= '<input type="hidden" name="c'.$item.'" value="'.$inst_results->{$item}.'" />'.$inst_results->{$item}; |
} else { |
} else { |
if ($context eq 'selfcreate') { |
if ($context eq 'selfcreate') { |
if ($canmodify{$item}) { |
if ($canmodify{$item}) { |
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" autocomplete="off" />'; |
$editable ++; |
$editable ++; |
} else { |
} else { |
$hiderow = 1; |
$hiderow = 1; |
Line 2233 sub personal_data_display {
|
Line 2286 sub personal_data_display {
|
$row .= $ccuname; |
$row .= $ccuname; |
} else { |
} else { |
if ($canmodify{$item}) { |
if ($canmodify{$item}) { |
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" />'; |
if ($newuser eq 'email') { |
|
$row .= '<input type="text" name="'.$item.'" size="'.$textboxsize{$item}.'" value="" autocomplete="off" />'; |
|
} else { |
|
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="" autocomplete="off" />'; |
|
} |
$editable ++; |
$editable ++; |
} else { |
} else { |
$hiderow = 1; |
$hiderow = 1; |
Line 2246 sub personal_data_display {
|
Line 2303 sub personal_data_display {
|
} else { |
} else { |
if ($canmodify{$item}) { |
if ($canmodify{$item}) { |
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="'.$userenv{$item}.'" />'; |
$row .= '<input type="text" name="c'.$item.'" size="'.$textboxsize{$item}.'" value="'.$userenv{$item}.'" />'; |
|
if (($item eq 'id') && (!$newuser)) { |
|
$row .= '<br />'.&Apache::lonuserutils::forceid_change($context); |
|
} |
} else { |
} else { |
$row .= $userenv{$item}; |
$row .= $userenv{$item}; |
} |
} |
if (($item eq 'id') && ($canmodify{$item})) { |
|
$row .= '<br />'.&Apache::lonuserutils::forceid_change($context); |
|
} |
|
} |
} |
$row .= &Apache::lonhtmlcommon::row_closure(1); |
$row .= &Apache::lonhtmlcommon::row_closure(1); |
if (!$hiderow) { |
if (!$hiderow) { |
Line 2296 sub personal_data_display {
|
Line 2353 sub personal_data_display {
|
} |
} |
} |
} |
} |
} |
|
if (($context eq 'selfcreate') && ($newuser eq 'email')) { |
|
if ($captchaform) { |
|
$output .= &Apache::lonhtmlcommon::row_title($lt{'valid'}, |
|
'LC_pick_box_title')."\n". |
|
$captchaform."\n".'<br /><br />'. |
|
&Apache::lonhtmlcommon::row_closure(1); |
|
$rowcount ++; |
|
} |
|
my $submit_text = &mt('Create account'); |
|
$output .= &Apache::lonhtmlcommon::row_title()."\n". |
|
'<br /><input type="submit" name="createaccount" value="'. |
|
$submit_text.'" />'. |
|
'<input type="hidden" name="type" value="'.$usertype.'" />'. |
|
&Apache::lonhtmlcommon::row_closure(1); |
|
} |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
if (wantarray) { |
if (wantarray) { |
if ($context eq 'selfcreate') { |
if ($context eq 'selfcreate') { |
Line 2649 sub update_user_data {
|
Line 2721 sub update_user_data {
|
$r->print($error.'Invalid login mode or password'.$end.$rtnlink); |
$r->print($error.'Invalid login mode or password'.$end.$rtnlink); |
return; |
return; |
} |
} |
# Only allow authentification modification if the person has authority |
# Only allow authentication modification if the person has authority |
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) { |
$r->print('Modifying authentication: '. |
$r->print('Modifying authentication: '. |
&Apache::lonnet::modifyuserauth( |
&Apache::lonnet::modifyuserauth( |
Line 2659 sub update_user_data {
|
Line 2731 sub update_user_data {
|
($env{'form.ccuname'},$env{'form.ccdomain'})); |
($env{'form.ccuname'},$env{'form.ccdomain'})); |
} else { |
} else { |
# Okay, this is a non-fatal error. |
# Okay, this is a non-fatal error. |
$r->print($error.&mt('You do not have the authority to modify this users authentification information').'.'.$end); |
$r->print($error.&mt('You do not have the authority to modify this users authentication information.').$end); |
} |
} |
} |
} |
$r->rflush(); # Finish display of header before time consuming actions start |
$r->rflush(); # Finish display of header before time consuming actions start |
Line 3945 sub enroll_single_student {
|
Line 4017 sub enroll_single_student {
|
if ($startdate <= $now && !$newuser) { |
if ($startdate <= $now && !$newuser) { |
$r->print('<p class="LC_info">'); |
$r->print('<p class="LC_info">'); |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$r->print(&mt('If the member is currently logged-in to LON-CAPA, the new role will be available when the member next logs in.')); |
$r->print(&mt('If the member is currently logged-in to LON-CAPA, the new role can be displayed by using the "Check for changes" link on the Roles/Courses page.')); |
} else { |
} else { |
$r->print(&mt('If the student is currently logged-in to LON-CAPA, the new role will be available when the student next logs in.')); |
$r->print(&mt('If the student is currently logged-in to LON-CAPA, the new role can be displayed by using the "Check for changes" link on the Roles/Courses page.')); |
} |
} |
$r->print('</p>'); |
$r->print('</p>'); |
} |
} |
Line 4113 sub custom_role_editor {
|
Line 4185 sub custom_role_editor {
|
my $dompriv=''; |
my $dompriv=''; |
my $coursepriv=''; |
my $coursepriv=''; |
my $body_top; |
my $body_top; |
|
my $newrole; |
my ($rdummy,$roledef)= |
my ($rdummy,$roledef)= |
&Apache::lonnet::get('roles',["rolesdef_$rolename"]); |
&Apache::lonnet::get('roles',["rolesdef_$rolename"]); |
# ------------------------------------------------------- Does this role exist? |
# ------------------------------------------------------- Does this role exist? |
Line 4125 sub custom_role_editor {
|
Line 4198 sub custom_role_editor {
|
$syspriv =~ s/bre\&S//; |
$syspriv =~ s/bre\&S//; |
} |
} |
} else { |
} else { |
|
$newrole = 1; |
$body_top .= &mt('New Role').' "'; |
$body_top .= &mt('New Role').' "'; |
$roledef=''; |
$roledef=''; |
} |
} |
Line 4394 sub set_custom_role {
|
Line 4468 sub set_custom_role {
|
bread_crumbs_component => 'User Management'}; |
bread_crumbs_component => 'User Management'}; |
$r->print(&Apache::loncommon::start_page('Save Custom Role',$jscript,$args)); |
$r->print(&Apache::loncommon::start_page('Save Custom Role',$jscript,$args)); |
|
|
|
my $newrole; |
my ($rdummy,$roledef)= |
my ($rdummy,$roledef)= |
&Apache::lonnet::get('roles',["rolesdef_$rolename"]); |
&Apache::lonnet::get('roles',["rolesdef_$rolename"]); |
|
|
Line 4404 sub set_custom_role {
|
Line 4479 sub set_custom_role {
|
} else { |
} else { |
$r->print(&mt('New Role').' "'); |
$r->print(&mt('New Role').' "'); |
$roledef=''; |
$roledef=''; |
|
$newrole = 1; |
} |
} |
$r->print($rolename.'"</h3>'); |
$r->print($rolename.'"</h3>'); |
# ------------------------------------------------------- What can be assigned? |
# ------------------------------------------------------- What can be assigned? |
Line 4494 sub handler {
|
Line 4570 sub handler {
|
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['action','state','callingform','roletype','showrole','bulkaction','popup','phase', |
['action','state','callingform','roletype','showrole','bulkaction','popup','phase', |
'username','domain','srchterm','srchdomain','srchin','srchby','srchtype']); |
'username','domain','srchterm','srchdomain','srchin','srchby','srchtype','queue']); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
&Apache::lonhtmlcommon::clear_breadcrumbs(); |
my $args; |
my $args; |
my $brcrum = []; |
my $brcrum = []; |
my $bread_crumbs_component = 'User Management'; |
my $bread_crumbs_component = 'User Management'; |
if ($env{'form.action'} ne 'dateselect') { |
if (($env{'form.action'} ne 'dateselect') && ($env{'form.action'} ne 'displayuserreq')) { |
$brcrum = [{href=>"/adm/createuser", |
$brcrum = [{href=>"/adm/createuser", |
text=>"User Management", |
text=>"User Management", |
help=>'Course_Create_Class_List,Course_Change_Privileges,Course_View_Class_List,Course_Editing_Custom_Roles,Course_Add_Student,Course_Drop_Student,Course_Automated_Enrollment,Course_Self_Enrollment,Course_Manage_Group'} |
help=>'Course_Create_Class_List,Course_Change_Privileges,Course_View_Class_List,Course_Editing_Custom_Roles,Course_Add_Student,Course_Drop_Student,Course_Automated_Enrollment,Course_Self_Enrollment,Course_Manage_Group'} |
Line 4666 sub handler {
|
Line 4742 sub handler {
|
} |
} |
$args = { bread_crumbs => $brcrum, |
$args = { bread_crumbs => $brcrum, |
bread_crumbs_component => $bread_crumbs_component}; |
bread_crumbs_component => $bread_crumbs_component}; |
$r->print(&header(undef,$args)); |
my $js = &usernamerequest_javascript(); |
|
$r->print(&header(&add_script($js),$args)); |
if (!exists($env{'form.state'})) { |
if (!exists($env{'form.state'})) { |
$r->print(&Apache::loncoursequeueadmin::display_queued_requests('requestauthor', |
$r->print(&Apache::loncoursequeueadmin::display_queued_requests('requestauthor', |
$env{'request.role.domain'})); |
$env{'request.role.domain'})); |
Line 4675 sub handler {
|
Line 4752 sub handler {
|
$r->print(&Apache::loncoursequeueadmin::update_request_queue('requestauthor', |
$r->print(&Apache::loncoursequeueadmin::update_request_queue('requestauthor', |
$env{'request.role.domain'})); |
$env{'request.role.domain'})); |
} |
} |
|
} elsif (($env{'form.action'} eq 'processusernamereq') && |
|
($permission->{'cusr'}) && |
|
(&Apache::lonnet::allowed('cau',$env{'request.role.domain'}))) { |
|
push(@{$brcrum}, |
|
{href => '/adm/createuser?action=processusernamereq', |
|
text => 'LON-CAPA account requests', |
|
help => 'Domain_Username_Approvals'}); |
|
$bread_crumbs_component = 'Account requests'; |
|
if ($env{'form.state'} eq 'done') { |
|
push(@{$brcrum}, |
|
{href => '/adm/createuser?action=usernamereqqueue', |
|
text => 'Result', |
|
help => 'Domain_Username_Approvals'}); |
|
$bread_crumbs_component = 'LON-CAPA account request result'; |
|
} |
|
$args = { bread_crumbs => $brcrum, |
|
bread_crumbs_component => $bread_crumbs_component}; |
|
my $js = &usernamerequest_javascript(); |
|
$r->print(&header(&add_script($js),$args)); |
|
if (!exists($env{'form.state'})) { |
|
$r->print(&Apache::loncoursequeueadmin::display_queued_requests('requestusername', |
|
$env{'request.role.domain'})); |
|
} elsif ($env{'form.state'} eq 'done') { |
|
$r->print('<h3>'.&mt('LON-CAPA account request processing').'</h3>'."\n"); |
|
$r->print(&Apache::loncoursequeueadmin::update_request_queue('requestusername', |
|
$env{'request.role.domain'})); |
|
} |
|
} elsif (($env{'form.action'} eq 'displayuserreq') && |
|
($permission->{'cusr'})) { |
|
my $dom = $env{'form.domain'}; |
|
my $uname = $env{'form.username'}; |
|
my $warning; |
|
if (($dom =~ /^$match_domain$/) && (&Apache::lonnet::domain($dom) ne '')) { |
|
if (($dom eq $env{'request.role.domain'}) && (&Apache::lonnet::allowed('ccc',$dom))) { |
|
if (($uname =~ /^$match_username$/) && ($env{'form.queue'} eq 'approval')) { |
|
my $uhome = &Apache::lonnet::homeserver($uname,$dom); |
|
if ($uhome eq 'no_host') { |
|
my $queue = $env{'form.queue'}; |
|
my $reqkey = &escape($uname).'_'.$queue; |
|
my $namespace = 'usernamequeue'; |
|
my $domconfig = &Apache::lonnet::get_domainconfiguser($dom); |
|
my %queued = |
|
&Apache::lonnet::get($namespace,[$reqkey],$dom,$domconfig); |
|
unless ($queued{$reqkey}) { |
|
$warning = &mt('No information was found for this LON-CAPA account request.'); |
|
} |
|
} else { |
|
$warning = &mt('A LON-CAPA account already exists for the requested username and domain.'); |
|
} |
|
} else { |
|
$warning = &mt('LON-CAPA account request status check is for an invalid username.'); |
|
} |
|
} else { |
|
$warning = &mt('You do not have rights to view LON-CAPA account requests in the domain specified.'); |
|
} |
|
} else { |
|
$warning = &mt('LON-CAPA account request status check is for an invalid domain.'); |
|
} |
|
my $args = { only_body => 1 }; |
|
$r->print(&header(undef,$args). |
|
'<h3>'.&mt('LON-CAPA Account Request Details').'</h3>'); |
|
if ($warning ne '') { |
|
$r->print('<div class="LC_warning">'.$warning.'</div>'); |
|
} else { |
|
my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info(); |
|
my $domconfiguser = &Apache::lonnet::get_domainconfiguser($dom); |
|
my %domconfig = &Apache::lonnet::get_dom('configuration',['usercreation'],$dom); |
|
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
|
if (ref($domconfig{'usercreation'}{'cancreate'}) eq 'HASH') { |
|
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}) eq 'HASH') { |
|
my %info = |
|
&Apache::lonnet::get('nohist_requestedusernames',[$uname],$dom,$domconfiguser); |
|
if (ref($info{$uname}) eq 'HASH') { |
|
my $usertype = $info{$uname}{'inststatus'}; |
|
unless ($usertype) { |
|
$usertype = 'default'; |
|
} |
|
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}) eq 'HASH') { |
|
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
|
$r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box()); |
|
my ($num,$count,$showstatus); |
|
$count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}})); |
|
unless ($usertype eq 'default') { |
|
my ($othertitle,$usertypes,$types) = |
|
&Apache::loncommon::sorted_inst_types($dom); |
|
if (ref($usertypes) eq 'HASH') { |
|
if ($usertypes->{$usertype}) { |
|
$showstatus = $usertypes->{$usertype}; |
|
$count ++; |
|
} |
|
} |
|
} |
|
foreach my $field (@{$infofields}) { |
|
next unless ($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}{$field}); |
|
next unless ($infotitles->{$field}); |
|
$r->print(&Apache::lonhtmlcommon::row_title($infotitles->{$field}). |
|
$info{$uname}{$field}); |
|
$num ++; |
|
if ($count == $num) { |
|
$r->print(&Apache::lonhtmlcommon::row_closure(1)); |
|
} else { |
|
$r->print(&Apache::lonhtmlcommon::row_closure()); |
|
} |
|
} |
|
if ($showstatus) { |
|
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Status type (self-reported)')). |
|
$showstatus. |
|
&Apache::lonhtmlcommon::row_closure(1)); |
|
} |
|
$r->print(&Apache::lonhtmlcommon::end_pick_box().'</div>'); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
$r->print(&close_popup_form()); |
|
} |
} elsif (($env{'form.action'} eq 'listusers') && |
} elsif (($env{'form.action'} eq 'listusers') && |
($permission->{'view'} || $permission->{'cusr'})) { |
($permission->{'view'} || $permission->{'cusr'})) { |
if ($env{'form.phase'} eq 'bulkchange') { |
if ($env{'form.phase'} eq 'bulkchange') { |
Line 4780 sub handler {
|
Line 4975 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>'); |
} |
} |
} elsif ($env{'form.action'} eq 'selfenroll') { |
} elsif ($env{'form.action'} eq 'selfenroll') { |
push(@{$brcrum}, |
if ($permission->{selfenrolladmin}) { |
{href => '/adm/createuser?action=selfenroll', |
my $cid = $env{'request.course.id'}; |
text => "Configure Self-enrollment", |
my $cdom = $env{'course.'.$cid.'.domain'}; |
help => 'Course_Self_Enrollment'}); |
my $cnum = $env{'course.'.$cid.'.num'}; |
if (!exists($env{'form.state'})) { |
my %currsettings = ( |
$args = { bread_crumbs => $brcrum, |
selfenroll_types => $env{'course.'.$cid.'.internal.selfenroll_types'}, |
bread_crumbs_component => 'Configure Self-enrollment'}; |
selfenroll_registered => $env{'course.'.$cid.'.internal.selfenroll_registered'}, |
$r->print(&header(undef,$args)); |
selfenroll_section => $env{'course.'.$cid.'.internal.selfenroll_section'}, |
$r->print('<h3>'.&mt('Self-enrollment with a student role').'</h3>'."\n"); |
selfenroll_notifylist => $env{'course.'.$cid.'.internal.selfenroll_notifylist'}, |
&print_selfenroll_menu($r,$context,$permission); |
selfenroll_approval => $env{'course.'.$cid.'.internal.selfenroll_approval'}, |
} elsif ($env{'form.state'} eq 'done') { |
selfenroll_limit => $env{'course.'.$cid.'.internal.selfenroll_limit'}, |
push (@{$brcrum}, |
selfenroll_cap => $env{'course.'.$cid.'.internal.selfenroll_cap'}, |
{href=>'/adm/createuser?action=selfenroll', |
selfenroll_start_date => $env{'course.'.$cid.'.internal.selfenroll_start_date'}, |
text=>"Result"}); |
selfenroll_end_date => $env{'course.'.$cid.'.internal.selfenroll_end_date'}, |
$args = { bread_crumbs => $brcrum, |
selfenroll_start_access => $env{'course.'.$cid.'.internal.selfenroll_start_access'}, |
bread_crumbs_component => 'Self-enrollment result'}; |
selfenroll_end_access => $env{'course.'.$cid.'.internal.selfenroll_end_access'}, |
$r->print(&header(undef,$args)); |
default_enrollment_start_date => $env{'course.'.$cid.'.default_enrollment_start_date'}, |
$r->print('<h3>'.&mt('Self-enrollment with a student role').'</h3>'."\n"); |
default_enrollment_end_date => $env{'course.'.$cid.'.default_enrollment_end_date'}, |
&update_selfenroll_config($r,$context,$permission); |
); |
|
push(@{$brcrum}, |
|
{href => '/adm/createuser?action=selfenroll', |
|
text => "Configure Self-enrollment", |
|
help => 'Course_Self_Enrollment'}); |
|
if (!exists($env{'form.state'})) { |
|
$args = { bread_crumbs => $brcrum, |
|
bread_crumbs_component => 'Configure Self-enrollment'}; |
|
$r->print(&header(undef,$args)); |
|
$r->print('<h3>'.&mt('Self-enrollment with a student role').'</h3>'."\n"); |
|
&print_selfenroll_menu($r,'course',$cid,$cdom,$cnum,\%currsettings); |
|
} elsif ($env{'form.state'} eq 'done') { |
|
push (@{$brcrum}, |
|
{href=>'/adm/createuser?action=selfenroll', |
|
text=>"Result"}); |
|
$args = { bread_crumbs => $brcrum, |
|
bread_crumbs_component => 'Self-enrollment result'}; |
|
$r->print(&header(undef,$args)); |
|
$r->print('<h3>'.&mt('Self-enrollment with a student role').'</h3>'."\n"); |
|
&update_selfenroll_config($r,$cid,$cdom,$cnum,\%currsettings); |
|
} |
|
} else { |
|
$r->print(&header(undef,{'no_nav_bar' => 1}). |
|
'<span class="LC_error">'.&mt('You do not have permission to configure self-enrollment').'</span>'); |
} |
} |
} elsif ($env{'form.action'} eq 'selfenrollqueue') { |
} elsif ($env{'form.action'} eq 'selfenrollqueue') { |
push(@{$brcrum}, |
push(@{$brcrum}, |
Line 4874 sub add_script {
|
Line 5092 sub add_script {
|
.'</script>'."\n"; |
.'</script>'."\n"; |
} |
} |
|
|
|
sub usernamerequest_javascript { |
|
my $js = <<ENDJS; |
|
|
|
function openusernamereqdisplay(dom,uname,queue) { |
|
var url = '/adm/createuser?action=displayuserreq'; |
|
url += '&domain='+dom+'&username='+uname+'&queue='+queue; |
|
var title = 'Account_Request_Browser'; |
|
var options = 'scrollbars=1,resizable=1,menubar=0'; |
|
options += ',width=700,height=600'; |
|
var stdeditbrowser = open(url,title,options,'1'); |
|
stdeditbrowser.focus(); |
|
return; |
|
} |
|
|
|
ENDJS |
|
} |
|
|
|
sub close_popup_form { |
|
my $close= &mt('Close Window'); |
|
return << "END"; |
|
<p><form name="displayreq" action="" method="post"> |
|
<input type="button" name="closeme" value="$close" onclick="javascript:self.close();" /> |
|
</form></p> |
|
END |
|
} |
|
|
sub verify_user_display { |
sub verify_user_display { |
my ($context) = @_; |
my ($context) = @_; |
my %lt = &Apache::lonlocal::texthash ( |
my %lt = &Apache::lonlocal::texthash ( |
Line 5127 sub print_main_menu {
|
Line 5371 sub print_main_menu {
|
linktitle => 'Approve or reject author role requests', |
linktitle => 'Approve or reject author role requests', |
}, |
}, |
{ |
{ |
|
linktext => 'LON-CAPA Account Requests', |
|
icon => 'list-add.png', |
|
#help => 'Domain_Username_Approvals', |
|
url => '/adm/createuser?action=processusernamereq', |
|
permission => $permission->{'cusr'}, |
|
linktitle => 'Approve or reject LON-CAPA account requests', |
|
}, |
|
{ |
linktext => 'Change Log', |
linktext => 'Change Log', |
icon => 'document-properties.png', |
icon => 'document-properties.png', |
#help => 'Course_User_Logs', |
#help => 'Course_User_Logs', |
Line 5214 sub print_main_menu {
|
Line 5466 sub print_main_menu {
|
); |
); |
if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}) { |
if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}) { |
push(@{ $menu[2]->{items} }, |
push(@{ $menu[2]->{items} }, |
{ |
{ |
linktext => 'Enrollment Requests', |
linktext => 'Enrollment Requests', |
icon => 'selfenrl-queue.png', |
icon => 'selfenrl-queue.png', |
#help => 'Course_Approve_Selfenroll', |
#help => 'Course_Approve_Selfenroll', |
url => '/adm/createuser?action=selfenrollqueue', |
url => '/adm/createuser?action=selfenrollqueue', |
permission => $permission->{'cusr'}, |
permission => $permission->{'selfenrolladmin'}, |
linktitle =>'Approve or reject enrollment requests.', |
linktitle =>'Approve or reject enrollment requests.', |
}, |
}, |
); |
); |
Line 5245 sub print_main_menu {
|
Line 5497 sub print_main_menu {
|
icon => 'self_enroll.png', |
icon => 'self_enroll.png', |
#help => 'Course_Self_Enrollment', |
#help => 'Course_Self_Enrollment', |
url => '/adm/createuser?action=selfenroll', |
url => '/adm/createuser?action=selfenroll', |
permission => $permission->{'cusr'}, |
permission => $permission->{'selfenrolladmin'}, |
linktitle => 'Configure user self-enrollment.', |
linktitle => 'Configure user self-enrollment.', |
}, |
}, |
); |
); |
Line 5282 sub restore_prev_selections {
|
Line 5534 sub restore_prev_selections {
|
} |
} |
|
|
sub print_selfenroll_menu { |
sub print_selfenroll_menu { |
my ($r,$context,$permission) = @_; |
my ($r,$context,$cid,$cdom,$cnum,$currsettings,$additional) = @_; |
my $crstype = &Apache::loncommon::course_type(); |
my $crstype = &Apache::loncommon::course_type(); |
my $formname = 'enrollstudent'; |
my $formname = 'selfenroll'; |
my $nolink = 1; |
my $nolink = 1; |
my ($row,$lt) = &get_selfenroll_titles(); |
my ($row,$lt) = &Apache::lonuserutils::get_selfenroll_titles(); |
my $groupslist = &Apache::lonuserutils::get_groupslist(); |
my $groupslist = &Apache::lonuserutils::get_groupslist(); |
my $setsec_js = |
my $setsec_js = |
&Apache::lonuserutils::setsections_javascript($formname,$groupslist); |
&Apache::lonuserutils::setsections_javascript($formname,$groupslist); |
Line 5405 function validate_types(form) {
|
Line 5657 function validate_types(form) {
|
} |
} |
} else { |
} else { |
if (document.$formname.selfenroll_activate.checked) { |
if (document.$formname.selfenroll_activate.checked) { |
var num = document.enrollstudent.selfenroll_activate.value; |
var num = document.$formname.selfenroll_activate.value; |
countfail = check_types(num,countfail,needaction) |
countfail = check_types(num,countfail,needaction) |
} |
} |
} |
} |
Line 5452 function check_types(num,countfail,needa
|
Line 5704 function check_types(num,countfail,needa
|
return countfail; |
return countfail; |
} |
} |
|
|
|
function toggleNotify() { |
|
var selfenrollApproval = 0; |
|
if (document.$formname.selfenroll_approval.length) { |
|
for (var i=0; i<document.$formname.selfenroll_approval.length; i++) { |
|
if (document.$formname.selfenroll_approval[i].checked) { |
|
selfenrollApproval = document.$formname.selfenroll_approval[i].value; |
|
break; |
|
} |
|
} |
|
} |
|
if (document.getElementById('notified')) { |
|
if (selfenrollApproval == 0) { |
|
document.getElementById('notified').style.display='none'; |
|
} else { |
|
document.getElementById('notified').style.display='block'; |
|
} |
|
} |
|
return; |
|
} |
|
|
function getIndexByName(item) { |
function getIndexByName(item) { |
for (var i=0;i<document.$formname.elements.length;i++) { |
for (var i=0;i<document.$formname.elements.length;i++) { |
if (document.$formname.elements[i].name == item) { |
if (document.$formname.elements[i].name == item) { |
Line 5461 function getIndexByName(item) {
|
Line 5733 function getIndexByName(item) {
|
return -1; |
return -1; |
} |
} |
ENDSCRIPT |
ENDSCRIPT |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
|
|
my $output = '<script type="text/javascript">'."\n". |
my $output = '<script type="text/javascript">'."\n". |
'// <![CDATA['."\n". |
'// <![CDATA['."\n". |
Line 5488 ENDSCRIPT
|
Line 5758 ENDSCRIPT
|
$output .= '</p>'; |
$output .= '</p>'; |
} |
} |
} |
} |
$output .= '<form name="'.$formname.'" method="post" action="/adm/createuser">'."\n". |
my $actionhref = '/adm/createuser'; |
|
if ($context eq 'domain') { |
|
$actionhref = '/adm/modifycourse'; |
|
} |
|
$output .= '<form name="'.$formname.'" method="post" action="'.$actionhref.'">'."\n". |
&Apache::lonhtmlcommon::start_pick_box(); |
&Apache::lonhtmlcommon::start_pick_box(); |
if (ref($row) eq 'ARRAY') { |
if (ref($row) eq 'ARRAY') { |
foreach my $item (@{$row}) { |
foreach my $item (@{$row}) { |
Line 5498 ENDSCRIPT
|
Line 5772 ENDSCRIPT
|
} |
} |
$output .= &Apache::lonhtmlcommon::row_title($title); |
$output .= &Apache::lonhtmlcommon::row_title($title); |
if ($item eq 'types') { |
if ($item eq 'types') { |
my $curr_types = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_types'}; |
my $curr_types; |
|
if (ref($currsettings) eq 'HASH') { |
|
$curr_types = $currsettings->{'selfenroll_types'}; |
|
} |
my $showdomdesc = 1; |
my $showdomdesc = 1; |
my $includeempty = 1; |
my $includeempty = 1; |
my $num = 0; |
my $num = 0; |
Line 5563 ENDSCRIPT
|
Line 5840 ENDSCRIPT
|
.&Apache::loncommon::end_data_table(); |
.&Apache::loncommon::end_data_table(); |
} elsif ($item eq 'registered') { |
} elsif ($item eq 'registered') { |
my ($regon,$regoff); |
my ($regon,$regoff); |
if ($env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_registered'}) { |
my $registered; |
|
if (ref($currsettings) eq 'HASH') { |
|
$registered = $currsettings->{'selfenroll_registered'}; |
|
} |
|
if ($registered) { |
$regon = ' checked="checked" '; |
$regon = ' checked="checked" '; |
$regoff = ' '; |
$regoff = ' '; |
} else { |
} else { |
Line 5576 ENDSCRIPT
|
Line 5857 ENDSCRIPT
|
'<input type="radio" name="selfenroll_registered" value="0"'.$regoff.'/>'. |
'<input type="radio" name="selfenroll_registered" value="0"'.$regoff.'/>'. |
&mt('No').'</label>'; |
&mt('No').'</label>'; |
} elsif ($item eq 'enroll_dates') { |
} elsif ($item eq 'enroll_dates') { |
my $starttime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_start_date'}; |
my ($starttime,$endtime); |
my $endtime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_end_date'}; |
if (ref($currsettings) eq 'HASH') { |
if ($starttime eq '') { |
$starttime = $currsettings->{'selfenroll_start_date'}; |
$starttime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_start_date'}; |
$endtime = $currsettings->{'selfenroll_end_date'}; |
} |
if ($starttime eq '') { |
if ($endtime eq '') { |
$starttime = $currsettings->{'default_enrollment_start_date'}; |
$endtime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_end_date'}; |
} |
|
if ($endtime eq '') { |
|
$endtime = $currsettings->{'default_enrollment_end_date'}; |
|
} |
} |
} |
my $startform = |
my $startform = |
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_date',$starttime, |
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_date',$starttime, |
Line 5592 ENDSCRIPT
|
Line 5876 ENDSCRIPT
|
undef,undef,undef,undef,undef,undef,undef,$nolink); |
undef,undef,undef,undef,undef,undef,undef,$nolink); |
$output .= &selfenroll_date_forms($startform,$endform); |
$output .= &selfenroll_date_forms($startform,$endform); |
} elsif ($item eq 'access_dates') { |
} elsif ($item eq 'access_dates') { |
my $starttime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_start_access'}; |
my ($starttime,$endtime); |
my $endtime = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_end_access'}; |
if (ref($currsettings) eq 'HASH') { |
if ($starttime eq '') { |
$starttime = $currsettings->{'selfenroll_start_access'}; |
$starttime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_start_date'}; |
$endtime = $currsettings->{'selfenroll_end_access'}; |
} |
if ($starttime eq '') { |
if ($endtime eq '') { |
$starttime = $currsettings->{'default_enrollment_start_date'}; |
$endtime = $env{'course.'.$env{'request.course.id'}.'.default_enrollment_end_date'}; |
} |
|
if ($endtime eq '') { |
|
$endtime = $currsettings->{'default_enrollment_end_date'}; |
|
} |
} |
} |
my $startform = |
my $startform = |
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_access',$starttime, |
&Apache::lonhtmlcommon::date_setter($formname,'selfenroll_start_access',$starttime, |
Line 5608 ENDSCRIPT
|
Line 5895 ENDSCRIPT
|
undef,undef,undef,undef,undef,undef,undef,$nolink); |
undef,undef,undef,undef,undef,undef,undef,$nolink); |
$output .= &selfenroll_date_forms($startform,$endform); |
$output .= &selfenroll_date_forms($startform,$endform); |
} elsif ($item eq 'section') { |
} elsif ($item eq 'section') { |
my $currsec = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_section'}; |
my $currsec; |
|
if (ref($currsettings) eq 'HASH') { |
|
$currsec = $currsettings->{'selfenroll_section'}; |
|
} |
my %sections_count = &Apache::loncommon::get_sections($cdom,$cnum); |
my %sections_count = &Apache::loncommon::get_sections($cdom,$cnum); |
my $newsecval; |
my $newsecval; |
if ($currsec ne 'none' && $currsec ne '') { |
if ($currsec ne 'none' && $currsec ne '') { |
Line 5628 ENDSCRIPT
|
Line 5918 ENDSCRIPT
|
'<input type="hidden" name="state" value="done" />'."\n". |
'<input type="hidden" name="state" value="done" />'."\n". |
'</td></tr></table>'."\n"; |
'</td></tr></table>'."\n"; |
} elsif ($item eq 'approval') { |
} elsif ($item eq 'approval') { |
my ($appon,$appoff); |
my ($currnotified,$currapproval,%appchecked); |
my $cid = $env{'request.course.id'}; |
my %selfdescs = &Apache::lonuserutils::selfenroll_default_descs(); |
my $currnotified = $env{'course.'.$cid.'.internal.selfenroll_notifylist'}; |
if (ref($currsettings) eq 'HASH') { |
if ($env{'course.'.$cid.'.internal.selfenroll_approval'}) { |
$currnotified = $currsettings->{'selfenroll_notifylist'}; |
$appon = ' checked="checked" '; |
$currapproval = $currsettings->{'selfenroll_approval'}; |
$appoff = ' '; |
} |
} else { |
if ($currapproval !~ /^[012]$/) { |
$appon = ' '; |
$currapproval = 0; |
$appoff = ' checked="checked" '; |
} |
|
$appchecked{$currapproval} = ' checked="checked"'; |
|
for my $i (0..2) { |
|
$output .= '<label>'. |
|
'<input type="radio" name="selfenroll_approval" value="'.$i.'"'. |
|
$appchecked{$i}.' onclick="toggleNotify();" />'.$selfdescs{'approval'}{$i}. |
|
'</label>'.(' 'x2); |
} |
} |
$output .= '<label>'. |
|
'<input type="radio" name="selfenroll_approval" value="1"'.$appon.'/>'. |
|
&mt('Yes').'</label> <label>'. |
|
'<input type="radio" name="selfenroll_approval" value="0"'.$appoff.'/>'. |
|
&mt('No').'</label>'; |
|
my %advhash = &Apache::lonnet::get_course_adv_roles($cid,1); |
my %advhash = &Apache::lonnet::get_course_adv_roles($cid,1); |
my (@ccs,%notified); |
my (@ccs,%notified); |
my $ccrole = 'cc'; |
my $ccrole = 'cc'; |
Line 5661 ENDSCRIPT
|
Line 5952 ENDSCRIPT
|
} |
} |
} |
} |
if (@ccs) { |
if (@ccs) { |
$output .= '<br />'.&mt('Personnel to be notified when an enrollment request needs approval, or has been approved:').' '.&Apache::loncommon::start_data_table(). |
my $style; |
|
unless ($currapproval) { |
|
$style = ' style="display: none;"'; |
|
} |
|
$output .= '<br /><div id="notified"'.$style.'>'. |
|
&mt('Personnel to be notified when an enrollment request needs approval, or has been approved:').' '. |
|
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table_row(); |
&Apache::loncommon::start_data_table_row(); |
my $count = 0; |
my $count = 0; |
my $numcols = 4; |
my $numcols = 4; |
Line 5689 ENDSCRIPT
|
Line 5986 ENDSCRIPT
|
} |
} |
} |
} |
$output .= &Apache::loncommon::end_data_table_row(). |
$output .= &Apache::loncommon::end_data_table_row(). |
&Apache::loncommon::end_data_table(); |
&Apache::loncommon::end_data_table(). |
|
'</div>'; |
} |
} |
} elsif ($item eq 'limit') { |
} elsif ($item eq 'limit') { |
my ($crslimit,$selflimit,$nolimit); |
my ($crslimit,$selflimit,$nolimit,$currlim,$currcap); |
my $cid = $env{'request.course.id'}; |
if (ref($currsettings) eq 'HASH') { |
my $currlim = $env{'course.'.$cid.'.internal.selfenroll_limit'}; |
$currlim = $currsettings->{'selfenroll_limit'}; |
my $currcap = $env{'course.'.$cid.'.internal.selfenroll_cap'}; |
$currcap = $currsettings->{'selfenroll_cap'}; |
$nolimit = ' checked="checked" '; |
} |
if ($currlim eq 'allstudents') { |
if ($currlim eq 'allstudents') { |
$crslimit = ' checked="checked" '; |
$crslimit = ' checked="checked" '; |
$selflimit = ' '; |
$selflimit = ' '; |
Line 5708 ENDSCRIPT
|
Line 6006 ENDSCRIPT
|
} else { |
} else { |
$crslimit = ' '; |
$crslimit = ' '; |
$selflimit = ' '; |
$selflimit = ' '; |
|
$nolimit = ' checked="checked" '; |
} |
} |
$output .= '<table><tr><td><label>'. |
$output .= '<table><tr><td><label>'. |
'<input type="radio" name="selfenroll_limit" value="none"'.$nolimit.'/>'. |
'<input type="radio" name="selfenroll_limit" value="none"'.$nolimit.'/>'. |
Line 5727 ENDSCRIPT
|
Line 6026 ENDSCRIPT
|
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
$output .= &Apache::lonhtmlcommon::end_pick_box(). |
'<br /><input type="button" name="selfenrollconf" value="' |
'<br /><input type="button" name="selfenrollconf" value="' |
.&mt('Save').'" onclick="validate_types(this.form);" />' |
.&mt('Save').'" onclick="validate_types(this.form);" />' |
.'<input type="hidden" name="action" value="selfenroll" /></form>'; |
.'<input type="hidden" name="action" value="selfenroll" />'. |
|
$additional.'</form>'; |
$r->print($output); |
$r->print($output); |
return; |
return; |
} |
} |
Line 5737 sub visible_in_cat {
|
Line 6037 sub visible_in_cat {
|
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom); |
my %domconf = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom); |
my ($cathash,%settable,@vismsgs,$cansetvis); |
my ($cathash,%settable,@vismsgs,$cansetvis); |
my %visactions = &Apache::lonlocal::texthash( |
my %visactions = &Apache::lonlocal::texthash( |
vis => 'Your course/community currently appears in the Course/Community Catalog for this domain.', |
vis => 'This course/community currently appears in the Course/Community Catalog for this domain.', |
gen => 'Courses can be both self-cataloging, based on an institutional code (e.g., fs08phy231), or can be assigned categories from a hierarchy defined for the domain.', |
gen => 'Courses can be both self-cataloging, based on an institutional code (e.g., fs08phy231), or can be assigned categories from a hierarchy defined for the domain.', |
miss => 'Your course/community does not currently appear in the Course/Community Catalog for this domain.', |
miss => 'This course/community does not currently appear in the Course/Community Catalog for this domain.', |
yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding your course.', |
yous => 'You should remedy this if you plan to allow self-enrollment, otherwise students will have difficulty finding this course.', |
coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.', |
coca => 'Courses can be absent from the Catalog, because they do not have an institutional code, have no assigned category, or have been specifically excluded.', |
make => 'Make any changes to self-enrollment settings below, click "Save", then take action to include the course in the Catalog:', |
make => 'Make any changes to self-enrollment settings below, click "Save", then take action to include the course in the Catalog:', |
take => 'Take the following action to ensure the course appears in the Catalog:', |
take => 'Take the following action to ensure the course appears in the Catalog:', |
Line 6988 sub course_level_dc {
|
Line 7288 sub course_level_dc {
|
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table_header_row(). |
&Apache::loncommon::start_data_table_header_row(). |
'<th>'.$lt{'scc'}.'</th><th>'.$lt{'rol'}.'</th>'."\n". |
'<th>'.$lt{'scc'}.'</th><th>'.$lt{'rol'}.'</th>'."\n". |
'<th>'.$lt{'grs'}.'</th><th>'.$lt{'crd'}.'</th>'."\n". |
'<th>'.$lt{'grs'}.'</th>'."\n"; |
'<th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'."\n". |
$header .= '<th>'.$lt{'crd'}.'</th>'."\n" if ($showcredits); |
|
$header .= '<th>'.$lt{'sta'}.'</th><th>'.$lt{'end'}.'</th>'."\n". |
&Apache::loncommon::end_data_table_header_row(); |
&Apache::loncommon::end_data_table_header_row(); |
my $otheritems = &Apache::loncommon::start_data_table_row()."\n". |
my $otheritems = &Apache::loncommon::start_data_table_row()."\n". |
'<td><br /><span class="LC_nobreak"><input type="text" name="coursedesc" value="" onfocus="this.blur();opencrsbrowser('."'cu','dccourse','dcdomain','coursedesc','','','','crstype'".')" />'. |
'<td><br /><span class="LC_nobreak"><input type="text" name="coursedesc" value="" onfocus="this.blur();opencrsbrowser('."'cu','dccourse','dcdomain','coursedesc','','','','crstype'".')" />'. |
Line 7019 sub course_level_dc {
|
Line 7320 sub course_level_dc {
|
'</tr></table></td>'."\n"; |
'</tr></table></td>'."\n"; |
if ($showcredits) { |
if ($showcredits) { |
$otheritems .= '<td><br />'."\n". |
$otheritems .= '<td><br />'."\n". |
'<input type="text" size="3" name="credits" value="" />'."\n"; |
'<input type="text" size="3" name="credits" value="" /></td>'."\n"; |
} |
} |
$otheritems .= <<ENDTIMEENTRY; |
$otheritems .= <<ENDTIMEENTRY; |
<td><br /><input type="hidden" name="start" value='' /> |
<td><br /><input type="hidden" name="start" value='' /> |
Line 7035 ENDTIMEENTRY
|
Line 7336 ENDTIMEENTRY
|
} |
} |
|
|
sub update_selfenroll_config { |
sub update_selfenroll_config { |
my ($r,$context,$permission) = @_; |
my ($r,$cid,$cdom,$cnum,$currsettings) = @_; |
my ($row,$lt) = &get_selfenroll_titles(); |
return unless (ref($currsettings) eq 'HASH'); |
my %curr_groups = &Apache::longroup::coursegroups(); |
my ($row,$lt) = &Apache::lonuserutils::get_selfenroll_titles(); |
|
my %curr_groups = &Apache::longroup::coursegroups($cdom,$cnum); |
my (%changes,%warning); |
my (%changes,%warning); |
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; |
|
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; |
|
my $curr_types; |
my $curr_types; |
if (ref($row) eq 'ARRAY') { |
if (ref($row) eq 'ARRAY') { |
foreach my $item (@{$row}) { |
foreach my $item (@{$row}) { |
if ($item eq 'enroll_dates') { |
if ($item eq 'enroll_dates') { |
my (%currenrolldate,%newenrolldate); |
my (%currenrolldate,%newenrolldate); |
foreach my $type ('start','end') { |
foreach my $type ('start','end') { |
$currenrolldate{$type} = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$type.'_date'}; |
$currenrolldate{$type} = $currsettings->{'selfenroll_'.$type.'_date'}; |
$newenrolldate{$type} = &Apache::lonhtmlcommon::get_date_from_form('selfenroll_'.$type.'_date'); |
$newenrolldate{$type} = &Apache::lonhtmlcommon::get_date_from_form('selfenroll_'.$type.'_date'); |
if ($newenrolldate{$type} ne $currenrolldate{$type}) { |
if ($newenrolldate{$type} ne $currenrolldate{$type}) { |
$changes{'internal.selfenroll_'.$type.'_date'} = $newenrolldate{$type}; |
$changes{'internal.selfenroll_'.$type.'_date'} = $newenrolldate{$type}; |
Line 7056 sub update_selfenroll_config {
|
Line 7356 sub update_selfenroll_config {
|
} elsif ($item eq 'access_dates') { |
} elsif ($item eq 'access_dates') { |
my (%currdate,%newdate); |
my (%currdate,%newdate); |
foreach my $type ('start','end') { |
foreach my $type ('start','end') { |
$currdate{$type} = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$type.'_access'}; |
$currdate{$type} = $currsettings->{'selfenroll_'.$type.'_access'}; |
$newdate{$type} = &Apache::lonhtmlcommon::get_date_from_form('selfenroll_'.$type.'_access'); |
$newdate{$type} = &Apache::lonhtmlcommon::get_date_from_form('selfenroll_'.$type.'_access'); |
if ($newdate{$type} ne $currdate{$type}) { |
if ($newdate{$type} ne $currdate{$type}) { |
$changes{'internal.selfenroll_'.$type.'_access'} = $newdate{$type}; |
$changes{'internal.selfenroll_'.$type.'_access'} = $newdate{$type}; |
} |
} |
} |
} |
} elsif ($item eq 'types') { |
} elsif ($item eq 'types') { |
$curr_types = |
$curr_types = $currsettings->{'selfenroll_'.$item}; |
$env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$item}; |
|
if ($env{'form.selfenroll_all'}) { |
if ($env{'form.selfenroll_all'}) { |
if ($curr_types ne '*') { |
if ($curr_types ne '*') { |
$changes{'internal.selfenroll_types'} = '*'; |
$changes{'internal.selfenroll_types'} = '*'; |
Line 7133 sub update_selfenroll_config {
|
Line 7432 sub update_selfenroll_config {
|
my $newlimit = $env{'form.selfenroll_limit'}; |
my $newlimit = $env{'form.selfenroll_limit'}; |
my $newcap = $env{'form.selfenroll_cap'}; |
my $newcap = $env{'form.selfenroll_cap'}; |
$newcap =~s/\s+//g; |
$newcap =~s/\s+//g; |
my $currlimit = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_limit'}; |
my $currlimit = $currsettings->{'selfenroll_limit'}; |
$currlimit = 'none' if ($currlimit eq ''); |
$currlimit = 'none' if ($currlimit eq ''); |
my $currcap = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_cap'}; |
my $currcap = $currsettings->{'selfenroll_cap'}; |
if ($newlimit ne $currlimit) { |
if ($newlimit ne $currlimit) { |
if ($newlimit ne 'none') { |
if ($newlimit ne 'none') { |
if ($newcap =~ /^\d+$/) { |
if ($newcap =~ /^\d+$/) { |
Line 7144 sub update_selfenroll_config {
|
Line 7443 sub update_selfenroll_config {
|
} |
} |
$changes{'internal.selfenroll_limit'} = $newlimit; |
$changes{'internal.selfenroll_limit'} = $newlimit; |
} else { |
} else { |
$warning{$item} = &mt('Maximum enrollment setting unchanged.').'<br />'.&mt('The value provided was invalid - it must be a positive integer if enrollment is being limited.'); |
$warning{$item} = &mt('Maximum enrollment setting unchanged.').'<br />'. |
|
&mt('The value provided was invalid - it must be a positive integer if enrollment is being limited.'); |
} |
} |
} elsif ($currcap ne '') { |
} elsif ($currcap ne '') { |
$changes{'internal.selfenroll_cap'} = ''; |
$changes{'internal.selfenroll_cap'} = ''; |
Line 7156 sub update_selfenroll_config {
|
Line 7456 sub update_selfenroll_config {
|
$changes{'internal.selfenroll_cap'} = $newcap; |
$changes{'internal.selfenroll_cap'} = $newcap; |
} |
} |
} else { |
} else { |
$warning{$item} = &mt('Maximum enrollment setting unchanged.').'<br />'.&mt('The value provided was invalid - it must be a positive integer if enrollment is being limited.'); |
$warning{$item} = &mt('Maximum enrollment setting unchanged.').'<br />'. |
|
&mt('The value provided was invalid - it must be a positive integer if enrollment is being limited.'); |
} |
} |
} |
} |
} elsif ($item eq 'approval') { |
} elsif ($item eq 'approval') { |
my (@currnotified,@newnotified); |
my (@currnotified,@newnotified); |
my $currapproval = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}; |
my $currapproval = $currsettings->{'selfenroll_approval'}; |
my $currnotifylist = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_notifylist'}; |
my $currnotifylist = $currsettings->{'selfenroll_notifylist'}; |
if ($currnotifylist ne '') { |
if ($currnotifylist ne '') { |
@currnotified = split(/,/,$currnotifylist); |
@currnotified = split(/,/,$currnotifylist); |
@currnotified = sort(@currnotified); |
@currnotified = sort(@currnotified); |
Line 7198 sub update_selfenroll_config {
|
Line 7499 sub update_selfenroll_config {
|
} |
} |
} |
} |
} else { |
} else { |
my $curr_val = |
my $curr_val = $currsettings->{'selfenroll_'.$item}; |
$env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_'.$item}; |
|
my $newval = $env{'form.selfenroll_'.$item}; |
my $newval = $env{'form.selfenroll_'.$item}; |
if ($item eq 'section') { |
if ($item eq 'section') { |
$newval = $env{'form.sections'}; |
$newval = $env{'form.sections'}; |
if (defined($curr_groups{$newval})) { |
if (defined($curr_groups{$newval})) { |
$newval = $curr_val; |
$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'); |
$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') { |
} elsif ($newval eq 'all') { |
$newval = $curr_val; |
$newval = $curr_val; |
$warning{$item} = &mt('Section for self-enrolled users unchanged, as "all" is a reserved section name.'); |
$warning{$item} = &mt('Section for self-enrolled users unchanged, as "all" is a reserved section name.'); |
Line 7235 sub update_selfenroll_config {
|
Line 7536 sub update_selfenroll_config {
|
my %crsinfo = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.', |
my %crsinfo = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.', |
$cnum,undef,undef,'Course'); |
$cnum,undef,undef,'Course'); |
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
my $chome = &Apache::lonnet::homeserver($cnum,$cdom); |
if (ref($crsinfo{$env{'request.course.id'}}) eq 'HASH') { |
if (ref($crsinfo{$cid}) eq 'HASH') { |
foreach my $item ('selfenroll_types','selfenroll_start_date','selfenroll_end_date') { |
foreach my $item ('selfenroll_types','selfenroll_start_date','selfenroll_end_date') { |
if (exists($changes{'internal.'.$item})) { |
if (exists($changes{'internal.'.$item})) { |
$crsinfo{$env{'request.course.id'}}{$item} = |
$crsinfo{$cid}{$item} = $changes{'internal.'.$item}; |
$changes{'internal.'.$item}; |
|
} |
} |
} |
} |
my $crsputresult = |
my $crsputresult = |
Line 7276 sub update_selfenroll_config {
|
Line 7576 sub update_selfenroll_config {
|
if ($changes{'internal.selfenroll_cap'} ne '') { |
if ($changes{'internal.selfenroll_cap'} ne '') { |
$newcap = $changes{'internal.selfenroll_cap'} |
$newcap = $changes{'internal.selfenroll_cap'} |
} else { |
} else { |
$newcap = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_cap'}; |
$newcap = $currsettings->{'selfenroll_cap'}; |
} |
} |
if ($changes{'internal.selfenroll_limit'} eq 'none') { |
if ($changes{'internal.selfenroll_limit'} eq 'none') { |
$newval = &mt('No limit'); |
$newval = &mt('No limit'); |
Line 7286 sub update_selfenroll_config {
|
Line 7586 sub update_selfenroll_config {
|
} elsif ($changes{'internal.selfenroll_limit'} eq 'selfenrolled') { |
} elsif ($changes{'internal.selfenroll_limit'} eq 'selfenrolled') { |
$newval = &mt('New self-enrollment no longer allowed when total number of self-enrolled students reaches [_1].',$newcap); |
$newval = &mt('New self-enrollment no longer allowed when total number of self-enrolled students reaches [_1].',$newcap); |
} else { |
} else { |
my $currlimit = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_limit'}; |
my $currlimit = $currsettings->{'selfenroll_limit'}; |
if ($currlimit eq 'allstudents') { |
if ($currlimit eq 'allstudents') { |
$newval = &mt('New self-enrollment no longer allowed when total (all students) reaches [_1].',$newcap); |
$newval = &mt('New self-enrollment no longer allowed when total (all students) reaches [_1].',$newcap); |
} elsif ($changes{'internal.selfenroll_limit'} eq 'selfenrolled') { |
} elsif ($changes{'internal.selfenroll_limit'} eq 'selfenrolled') { |
Line 7298 sub update_selfenroll_config {
|
Line 7598 sub update_selfenroll_config {
|
} elsif ($item eq 'approval') { |
} elsif ($item eq 'approval') { |
if ((exists($changes{'internal.selfenroll_approval'})) || |
if ((exists($changes{'internal.selfenroll_approval'})) || |
(exists($changes{'internal.selfenroll_notifylist'}))) { |
(exists($changes{'internal.selfenroll_notifylist'}))) { |
|
my %selfdescs = &Apache::lonuserutils::selfenroll_default_descs(); |
my ($newval,$newnotify); |
my ($newval,$newnotify); |
if (exists($changes{'internal.selfenroll_notifylist'})) { |
if (exists($changes{'internal.selfenroll_notifylist'})) { |
$newnotify = $changes{'internal.selfenroll_notifylist'}; |
$newnotify = $changes{'internal.selfenroll_notifylist'}; |
} else { |
} else { |
$newnotify = $env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_notifylist'}; |
$newnotify = $currsettings->{'selfenroll_notifylist'}; |
} |
} |
if ($changes{'internal.selfenroll_approval'}) { |
if (exists($changes{'internal.selfenroll_approval'})) { |
$newval = &mt('Yes'); |
if ($changes{'internal.selfenroll_approval'} !~ /^[012]$/) { |
} elsif ($changes{'internal.selfenroll_approval'} eq '0') { |
$changes{'internal.selfenroll_approval'} = '0'; |
$newval = &mt('No'); |
} |
|
$newval = $selfdescs{'approval'}{$changes{'internal.selfenroll_approval'}}; |
} else { |
} else { |
my $currapproval = |
my $currapproval = $currsettings->{'selfenroll_approval'}; |
$env{'course.'.$env{'request.course.id'}.'.internal.selfenroll_approval'}; |
if ($currapproval !~ /^[012]$/) { |
if ($currapproval) { |
$currapproval = 0; |
$newval = &mt('Yes'); |
|
} else { |
|
$newval = &mt('No'); |
|
} |
} |
|
$newval = $selfdescs{'approval'}{$currapproval}; |
} |
} |
$r->print('<li>'.&mt('"[_1]" set to "[_2]".',$title,$newval)); |
$r->print('<li>'.&mt('"[_1]" set to "[_2]".',$title,$newval)); |
if ($newnotify) { |
if ($newnotify) { |
Line 7346 sub update_selfenroll_config {
|
Line 7646 sub update_selfenroll_config {
|
} |
} |
} |
} |
$r->print('</ul>'); |
$r->print('</ul>'); |
my %newenvhash; |
if ($env{'course.'.$cid.'.description'} ne '') { |
foreach my $key (keys(%changes)) { |
my %newenvhash; |
$newenvhash{'course.'.$env{'request.course.id'}.'.'.$key} = $changes{$key}; |
foreach my $key (keys(%changes)) { |
|
$newenvhash{'course.'.$cid.'.'.$key} = $changes{$key}; |
|
} |
|
&Apache::lonnet::appenv(\%newenvhash); |
} |
} |
&Apache::lonnet::appenv(\%newenvhash); |
|
} else { |
} else { |
$r->print(&mt('An error occurred when saving changes to self-enrollment settings in this course.').'<br />'.&mt('The error was: [_1].',$putresult)); |
$r->print(&mt('An error occurred when saving changes to self-enrollment settings in this course.').'<br />'. |
|
&mt('The error was: [_1].',$putresult)); |
} |
} |
} else { |
} else { |
$r->print(&mt('No changes were made to the existing self-enrollment settings in this course.')); |
$r->print(&mt('No changes were made to the existing self-enrollment settings in this course.')); |
Line 7378 sub update_selfenroll_config {
|
Line 7681 sub update_selfenroll_config {
|
return; |
return; |
} |
} |
|
|
sub get_selfenroll_titles { |
|
my @row = ('types','registered','enroll_dates','access_dates','section', |
|
'approval','limit'); |
|
my %lt = &Apache::lonlocal::texthash ( |
|
types => 'Users allowed to self-enroll in this course', |
|
registered => 'Restrict self-enrollment to students officially registered for the course', |
|
enroll_dates => 'Dates self-enrollment available', |
|
access_dates => 'Course access dates assigned to self-enrolling users', |
|
section => 'Section assigned to self-enrolling users', |
|
approval => 'Self-enrollment requests need approval?', |
|
limit => 'Enrollment limit', |
|
); |
|
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 |