version 1.394, 2014/02/19 17:12:52
|
version 1.398, 2014/03/31 02:31:05
|
Line 1813 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 2164 sub modify_login_block {
|
Line 2164 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) = @_; |
$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'); |
Line 2206 sub personal_data_display {
|
Line 2206 sub personal_data_display {
|
\@userinfo,$rolesarray); |
\@userinfo,$rolesarray); |
} elsif ($context eq 'selfcreate') { |
} elsif ($context eq 'selfcreate') { |
if ($newuser eq 'email') { |
if ($newuser eq 'email') { |
if (ref($emailusername) eq 'HASH') { |
if (ref($emailusername) eq 'HASH') { |
my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info(); |
if (ref($emailusername->{$usertype}) eq 'HASH') { |
@userinfo = (); |
my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info(); |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
@userinfo = (); |
foreach my $field (@{$infofields}) { |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
if ($emailusername->{$field}) { |
foreach my $field (@{$infofields}) { |
push(@userinfo,$field); |
if ($emailusername->{$usertype}->{$field}) { |
$canmodify{$field} = 1; |
push(@userinfo,$field); |
unless ($textboxsize{$field}) { |
$canmodify{$field} = 1; |
$textboxsize{$field} = 25; |
unless ($textboxsize{$field}) { |
} |
$textboxsize{$field} = 25; |
unless ($lt{$field}) { |
} |
$lt{$field} = $infotitles->{$field}; |
unless ($lt{$field}) { |
|
$lt{$field} = $infotitles->{$field}; |
|
} |
|
if ($emailusername->{$usertype}->{$field} eq 'required') { |
|
$lt{$field} .= '<b>*</b>'; |
|
} |
} |
} |
} |
} |
} |
} |
Line 2234 sub personal_data_display {
|
Line 2239 sub personal_data_display {
|
$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')) { |
if (($context eq 'selfcreate') && ($newuser eq 'email')) { |
$output .= &Apache::lonhtmlcommon::row_title($lt{'email'},undef, |
$output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'<b>*</b>',undef, |
'LC_oddrow_value')."\n". |
'LC_oddrow_value')."\n". |
'<input type="text" name="uname" size="25" value="" autocomplete="off" />'; |
'<input type="text" name="uname" size="25" value="" autocomplete="off" />'; |
$rowcount ++; |
$rowcount ++; |
$output .= &Apache::lonhtmlcommon::row_closure(1); |
$output .= &Apache::lonhtmlcommon::row_closure(1); |
my $upassone = '<input type="password" name="upass'.$now.'" size="10" autocomplete="off" />'; |
my $upassone = '<input type="password" name="upass'.$now.'" size="10" autocomplete="off" />'; |
my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="10" autocomplete="off" />'; |
my $upasstwo = '<input type="password" name="upasscheck'.$now.'" size="10" autocomplete="off" />'; |
$output .= &Apache::lonhtmlcommon::row_title(&mt('Password'), |
$output .= &Apache::lonhtmlcommon::row_title(&mt('Password').'<b>*</b>', |
'LC_pick_box_title', |
'LC_pick_box_title', |
'LC_oddrow_value')."\n". |
'LC_oddrow_value')."\n". |
$upassone."\n". |
$upassone."\n". |
&Apache::lonhtmlcommon::row_closure(1)."\n". |
&Apache::lonhtmlcommon::row_closure(1)."\n". |
&Apache::lonhtmlcommon::row_title(&mt('Confirm password'), |
&Apache::lonhtmlcommon::row_title(&mt('Confirm password').'<b>*</b>', |
'LC_pick_box_title', |
'LC_pick_box_title', |
'LC_oddrow_value')."\n". |
'LC_oddrow_value')."\n". |
$upasstwo. |
$upasstwo. |
Line 2360 sub personal_data_display {
|
Line 2365 sub personal_data_display {
|
$output .= &Apache::lonhtmlcommon::row_title()."\n". |
$output .= &Apache::lonhtmlcommon::row_title()."\n". |
'<br /><input type="submit" name="createaccount" value="'. |
'<br /><input type="submit" name="createaccount" value="'. |
$submit_text.'" />'. |
$submit_text.'" />'. |
|
'<input type="hidden" name="type" value="'.$usertype.'" />'. |
&Apache::lonhtmlcommon::row_closure(1); |
&Apache::lonhtmlcommon::row_closure(1); |
} |
} |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
$output .= &Apache::lonhtmlcommon::end_pick_box(); |
Line 2715 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 2725 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 4816 sub handler {
|
Line 4822 sub handler {
|
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}{'cancreate'}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}{'cancreate'}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}) eq 'HASH') { |
my $count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}})); |
|
my %info = |
my %info = |
&Apache::lonnet::get('nohist_requestedusernames',[$uname],$dom,$domconfiguser); |
&Apache::lonnet::get('nohist_requestedusernames',[$uname],$dom,$domconfiguser); |
if (ref($info{$uname}) eq 'HASH') { |
if (ref($info{$uname}) eq 'HASH') { |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
my $usertype = $info{$uname}{'inststatus'}; |
$r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box()); |
unless ($usertype) { |
my $num; |
$usertype = 'default'; |
foreach my $field (@{$infofields}) { |
} |
next unless ($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$field}); |
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}) eq 'HASH') { |
next unless ($infotitles->{$field}); |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
$r->print(&Apache::lonhtmlcommon::row_title($infotitles->{$field}). |
$r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box()); |
$info{$uname}{$field}); |
my ($num,$count,$showstatus); |
$num ++; |
$count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}})); |
if ($count == $num) { |
unless ($usertype eq 'default') { |
$r->print(&Apache::lonhtmlcommon::row_closure(1)); |
my ($othertitle,$usertypes,$types) = |
} else { |
&Apache::loncommon::sorted_inst_types($dom); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
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(&Apache::lonhtmlcommon::end_pick_box().'</div>'); |
|
} |
} |
} |
} |
} |
} |
Line 4948 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 5416 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 5447 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 5484 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 5607 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 5654 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 5663 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 5690 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 5700 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 5765 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 5778 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 5794 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 5810 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 5830 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 5863 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 5891 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 5910 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 5929 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 5939 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 7190 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 7221 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 7237 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 7258 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 7335 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 7346 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 7358 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 7400 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 7437 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 7478 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 7488 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 7500 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 7548 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 7580 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 |