'.
- &Apache::loncommon::end_data_table_row().
- &Apache::loncommon::end_data_table();
- }
if (&Apache::lonnet::allowed('udp',$ccdomain)) {
# Current user has rights to view domain preferences for user's domain
my $result;
@@ -2383,8 +2351,8 @@ sub modify_login_block {
}
sub personal_data_display {
- my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray,$now,
- $captchaform,$emailusername,$usertype,$usernameset,$condition,$excluded,$showsubmit) = @_;
+ my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray,
+ $now,$captchaform,$emailusername,$usertype,$usernameset,$condition) = @_;
my ($output,%userenv,%canmodify,%canmodify_status);
my @userinfo = ('firstname','middlename','lastname','generation',
'permanentemail','id');
@@ -2460,38 +2428,16 @@ sub personal_data_display {
$output = '
'.$lt{'pd'}.'
'.
&Apache::lonhtmlcommon::start_pick_box();
if (($context eq 'selfcreate') && ($newuser eq 'email')) {
- my $size = 25;
if ($condition) {
- if ($condition =~ /^\@[^\@]+$/) {
- $size = 10;
+ if ($condition =~ /[-\w]+\.[-\w]+$/) {
+ $condition = '@'.$condition;
} else {
undef($condition);
}
}
- if ($excluded) {
- unless ($excluded =~ /^\@[^\@]+$/) {
- undef($condition);
- }
- }
$output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'*',undef,
'LC_oddrow_value')."\n".
- '';
- if ($condition) {
- $output .= $condition;
- } elsif ($excluded) {
- $output .= ' '.&mt('You must use an e-mail address that does not end with [_1]',
- $excluded).'';
- }
- if ($usernameset eq 'first') {
- $output .= ' ';
- if ($condition) {
- $output .= &mt('Your username in LON-CAPA will be the part of your e-mail address before [_1]',
- $condition);
- } else {
- $output .= &mt('Your username in LON-CAPA will be the part of your e-mail address before the @');
- }
- $output .= '';
- }
+ '';
$rowcount ++;
$output .= &Apache::lonhtmlcommon::row_closure(1);
my $upassone = '';
@@ -2506,14 +2452,13 @@ sub personal_data_display {
'LC_oddrow_value')."\n".
$upasstwo.
&Apache::lonhtmlcommon::row_closure()."\n";
- if ($usernameset eq 'free') {
- my $onclick = "toggleUsernameDisp(this,'selfcreateusername');";
+ if ($usernameset) {
+ my $onclick = "toggleDisplay(this,'selfcreateusername');";
$output .= &Apache::lonhtmlcommon::row_title($lt{'username'},undef,'LC_oddrow_value')."\n".
- ''.&mt('Use e-mail address: ').
- ''.(' 'x2).
- ''."\n".
+ &mt('Use e-mail address: ').
+ ''."\n".
+ (' 'x2).
+ ''."\n".
'
'.
' '.&mt('Preferred username').
' '.
@@ -2621,16 +2566,12 @@ sub personal_data_display {
&Apache::lonhtmlcommon::row_closure(1);
$rowcount ++;
}
- if ($showsubmit) {
- my $submit_text = &mt('Create account');
- $output .= &Apache::lonhtmlcommon::row_title()."\n".
- ' ';
- if ($usertype ne '') {
- $output .= ''.
- &Apache::lonhtmlcommon::row_closure(1);
- }
- }
+ my $submit_text = &mt('Create account');
+ $output .= &Apache::lonhtmlcommon::row_title()."\n".
+ ' '.
+ ''.
+ &Apache::lonhtmlcommon::row_closure(1);
}
$output .= &Apache::lonhtmlcommon::end_pick_box();
if (wantarray) {
@@ -2714,7 +2655,7 @@ sub get_inststatuses {
# ================================================================= Phase Three
sub update_user_data {
- my ($r,$context,$crstype,$brcrum,$showcredits,$permission) = @_;
+ my ($r,$context,$crstype,$brcrum,$showcredits) = @_;
my $uhome=&Apache::lonnet::homeserver($env{'form.ccuname'},
$env{'form.ccdomain'});
# Error messages
@@ -2851,7 +2792,7 @@ sub update_user_data {
my (%alerts,%rulematch,%inst_results,%curr_rules);
my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id');
my @usertools = ('aboutme','blog','webdav','portfolio');
- my @requestcourses = ('official','unofficial','community','textbook');
+ my @requestcourses = ('official','unofficial','community','textbook','placement');
my @requestauthor = ('requestauthor');
my ($othertitle,$usertypes,$types) =
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'});
@@ -2980,7 +2921,7 @@ sub update_user_data {
$env{'form.ccdomain'},$env{'form.ccuname'});
}
}
- $r->print(' '.&mt('Home Server').': '.$uhome.' '.
+ $r->print(' '.&mt('Home server').': '.$uhome.' '.
&Apache::lonnet::hostname($uhome));
} elsif (($env{'form.login'} ne 'nochange') &&
($env{'form.login'} ne '' )) {
@@ -2995,19 +2936,12 @@ sub update_user_data {
&Apache::lonnet::modifyuserauth(
$env{'form.ccdomain'},$env{'form.ccuname'},
$amode,$genpwd));
- $r->print(' '.&mt('Home Server').': '.&Apache::lonnet::homeserver
+ $r->print(' '.&mt('Home server').': '.&Apache::lonnet::homeserver
($env{'form.ccuname'},$env{'form.ccdomain'}));
} else {
# Okay, this is a non-fatal error.
- $r->print($error.&mt('You do not have privileges to modify the authentication configuration for this user.').$end);
+ $r->print($error.&mt('You do not have the authority to modify this users authentication information.').$end);
}
- } elsif (($env{'form.intarg'} ne '') &&
- (&Apache::lonnet::queryauthenticate($env{'form.ccuname'},$env{'form.ccdomain'}) =~ /^internal:/) &&
- (&Apache::lonuserutils::can_change_internalpass($env{'form.ccuname'},$env{'form.ccdomain'},$crstype,$permission))) {
- $r->print('Modifying authentication: '.
- &Apache::lonnet::modifyuserauth(
- $env{'form.ccdomain'},$env{'form.ccuname'},
- 'internal',$env{'form.intarg'}));
}
$r->rflush(); # Finish display of header before time consuming actions start
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state);
@@ -3031,7 +2965,7 @@ sub update_user_data {
'requestcourses.community','requestcourses.textbook',
'reqcrsotherdom.official','reqcrsotherdom.unofficial',
'reqcrsotherdom.community','reqcrsotherdom.textbook',
- 'requestauthor'],
+ 'reqcrsotherdom.placement','requestauthor'],
$env{'form.ccdomain'},$env{'form.ccuname'});
my ($tmp) = keys(%userenv);
if ($tmp =~ /^(con_lost|error)/i) {
@@ -3322,8 +3256,9 @@ sub update_user_data {
($env{'user.domain'} eq $env{'form.ccdomain'})) {
my %newenvhash;
foreach my $key (keys(%changed)) {
- if (($key eq 'official') || ($key eq 'unofficial')
- || ($key eq 'community') || ($key eq 'textbook')) {
+ if (($key eq 'official') || ($key eq 'unofficial') ||
+ ($key eq 'community') || ($key eq 'textbook') ||
+ ($key eq 'placement')) {
$newenvhash{'environment.requestcourses.'.$key} =
$changeHash{'requestcourses.'.$key};
if ($changeHash{'requestcourses.'.$key}) {
@@ -3389,7 +3324,7 @@ sub update_user_data {
\%newsettingstext);
if ($env{'form.cid'} ne $userenv{'id'}) {
&Apache::lonnet::idput($env{'form.ccdomain'},
- {$env{'form.ccuname'} => $env{'form.cid'}});
+ {$env{'form.ccuname'} => $env{'form.cid'}},$uhome,'ids');
if (($recurseid) &&
(&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}))) {
my $idresult =
@@ -3532,6 +3467,7 @@ sub display_userinfo {
'unofficial' => 'Can Request Unofficial Courses',
'community' => 'Can Request Communities',
'textbook' => 'Can Request Textbook Courses',
+ 'placement' => 'Can Request Placement Tests',
'requestauthor' => 'Can Request Author Role',
'inststatus' => "Affiliation",
'prvs' => 'Previous Value:',
@@ -4671,7 +4607,7 @@ sub handler {
if (&Apache::lonnet::auto_run($cnum,$cdom) && (($permission->{'cusr'}) || ($permission->{'view'}))) {
push(@allhelp,'Course_Automated_Enrollment');
}
- if (($permission->{'selfenrolladmin'}) || ($permission->{'selfenrollview'})) {
+ if ($permission->{'selfenrolladmin'}) {
push(@allhelp,'Course_Approve_Selfenroll');
}
}
@@ -4773,41 +4709,16 @@ sub handler {
if (! exists($env{'form.state'})) {
&Apache::lonuserutils::print_first_users_upload_form($r,$context);
} elsif ($env{'form.state'} eq 'got_file') {
- my $result =
- &Apache::lonuserutils::print_upload_manager_form($r,$context,
- $permission,
- $crstype,$showcredits);
- if ($result eq 'missingdata') {
- delete($env{'form.state'});
- &Apache::lonuserutils::print_first_users_upload_form($r,$context);
- }
+ &Apache::lonuserutils::print_upload_manager_form($r,$context,$permission,
+ $crstype,$showcredits);
} elsif ($env{'form.state'} eq 'enrolling') {
if ($env{'form.datatoken'}) {
- my $result = &Apache::lonuserutils::upfile_drop_add($r,$context,
- $permission,
- $showcredits);
- if ($result eq 'missingdata') {
- delete($env{'form.state'});
- &Apache::lonuserutils::print_first_users_upload_form($r,$context);
- } elsif ($result eq 'invalidhome') {
- $env{'form.state'} = 'got_file';
- delete($env{'form.lcserver'});
- my $result =
- &Apache::lonuserutils::print_upload_manager_form($r,$context,$permission,
- $crstype,$showcredits);
- if ($result eq 'missingdata') {
- delete($env{'form.state'});
- &Apache::lonuserutils::print_first_users_upload_form($r,$context);
- }
- }
- } else {
- delete($env{'form.state'});
- &Apache::lonuserutils::print_first_users_upload_form($r,$context);
+ &Apache::lonuserutils::upfile_drop_add($r,$context,$permission,
+ $showcredits);
}
} else {
&Apache::lonuserutils::print_first_users_upload_form($r,$context);
}
- $r->print('');
} elsif (((($env{'form.action'} eq 'singleuser') || ($env{'form.action'}
eq 'singlestudent')) && ($permission->{'cusr'})) ||
(($env{'form.action'} eq 'singleuser') && ($permission->{'view'})) ||
@@ -4913,7 +4824,7 @@ sub handler {
&print_useraccesslogs_display($r,$ccuname,$ccdomain,$permission,$brcrum);
}
} elsif ($env{'form.phase'} eq 'update_user_data') {
- &update_user_data($r,$context,$crstype,$brcrum,$showcredits,$permission);
+ &update_user_data($r,$context,$crstype,$brcrum,$showcredits);
} else {
&print_username_entry_form($r,$context,undef,$srch,undef,$crstype,
$brcrum,$permission);
@@ -5032,17 +4943,13 @@ sub handler {
my ($showstatus,$showemail,$pickstart);
my $numextras = 0;
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom);
- if ((ref($types) eq 'ARRAY') && (@{$types} > 0)) {
- if (ref($usertypes) eq 'HASH') {
- if ($usertypes->{$usertype}) {
- $showstatus = $usertypes->{$usertype};
- } else {
- $showstatus = $othertitle;
- }
- if ($showstatus) {
- $numextras ++;
- }
+ if (ref($usertypes) eq 'HASH') {
+ if ($usertypes->{$usertype}) {
+ $showstatus = $usertypes->{$usertype};
+ } else {
+ $showstatus = $othertitle;
}
+ $numextras ++;
}
if (($info{$uname}{'email'} ne '') && ($info{$uname}{'email'} ne $uname)) {
$showemail = $info{$uname}{'email'};
@@ -5087,7 +4994,7 @@ sub handler {
&Apache::lonhtmlcommon::row_closure(1));
}
}
- if ($pickstart) {
+ if ($pickstart) {
$r->print(&Apache::lonhtmlcommon::end_pick_box().'
');
} else {
$r->print('
'.&mt('No information to display for this account request.').'
');
@@ -5211,9 +5118,8 @@ sub handler {
''.&mt('You do not have permission to modify dates or sections for users').'');
}
} elsif ($env{'form.action'} eq 'selfenroll') {
- my %currsettings;
- if ($permission->{selfenrolladmin} || $permission->{selfenrollview}) {
- %currsettings = (
+ if ($permission->{selfenrolladmin}) {
+ my %currsettings = (
selfenroll_types => $env{'course.'.$cid.'.internal.selfenroll_types'},
selfenroll_registered => $env{'course.'.$cid.'.internal.selfenroll_registered'},
selfenroll_section => $env{'course.'.$cid.'.internal.selfenroll_section'},
@@ -5229,8 +5135,6 @@ sub handler {
default_enrollment_end_date => $env{'course.'.$cid.'.default_enrollment_end_date'},
uniquecode => $env{'course.'.$cid.'.internal.uniquecode'},
);
- }
- if ($permission->{selfenrolladmin}) {
push(@{$brcrum},
{href => '/adm/createuser?action=selfenroll',
text => "Configure Self-enrollment",
@@ -5251,16 +5155,6 @@ sub handler {
$r->print('
'."\n";
- my $visactions = &cat_visibility($cdom);
+
+ my $visactions = &cat_visibility();
my ($cathash,%cattype);
my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom);
if (ref($domconfig{'coursecategories'}) eq 'HASH') {
@@ -6587,7 +6485,6 @@ sub visible_in_stdcat {
}
sub cat_visibility {
- my ($cdom) = @_;
my %visactions = &Apache::lonlocal::texthash(
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.',
@@ -6600,24 +6497,13 @@ sub cat_visibility {
dc_chgconf => 'Ask a domain coordinator to change the Catalog type for this domain.',
dc_setcode => 'Ask a domain coordinator to assign a six character code to the course',
dc_unhide => 'Ask a domain coordinator to change the "Exclude from course catalog" setting.',
- dc_addinst => 'Ask a domain coordinator to enable catalog display of "Official courses (with institutional codes)".',
+ dc_addinst => 'Ask a domain coordinator to enable display the catalog of "Official courses (with institutional codes)".',
dc_instcode => 'Ask a domain coordinator to assign an institutional code (if this is an official course).',
dc_catalog => 'Ask a domain coordinator to enable or create at least one course category in the domain.',
dc_categories => 'Ask a domain coordinator to create a hierarchy of categories and sub categories for courses in the domain.',
dc_chgcat => 'Ask a domain coordinator to change the category assigned to the course, as the one currently assigned is no longer used in the domain',
dc_addcat => 'Ask a domain coordinator to assign a category to the course.',
);
- if ($env{'request.role'} eq "dc./$cdom/") {
- $visactions{'dc_chgconf'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to change the Catalog type for this domain.','»');
- $visactions{'dc_setcode'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to assign a six character code to the course.','»');
- $visactions{'dc_unhide'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to change the "Exclude from course catalog" setting.','»');
- $visactions{'dc_addinst'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to enable catalog display of "Official courses (with institutional codes)".','»');
- $visactions{'dc_instcode'} = &mt('Use: "Main menu" [_1] "View or modify a course or community" [_1] "View/Modify course owner, institutional code ... " to assign an institutional code (if this is an official course).','»');
- $visactions{'dc_catalog'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to enable or create at least one course category in the domain.','»');
- $visactions{'dc_categories'} = &mt('Use: "Main menu" [_1] "Set domain configuration" [_1] "Cataloging of courses/communities" to create a hierarchy of categories and sub categories for courses in the domain.','»');
- $visactions{'dc_chgcat'} = &mt('Use: "Main menu" [_1] "View or modify a course or community" [_1] "View/Modify catalog settings for course" to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','»');
- $visactions{'dc_addcat'} = &mt('Use: "Main menu" [_1] "View or modify a course or community" [_1] "View/Modify catalog settings for course" to assign a category to the course.','»');
- }
$visactions{'unhide'} = &mt('Use [_1]Categorize course[_2] to change the "Exclude from course catalog" setting.','','"');
$visactions{'chgcat'} = &mt('Use [_1]Categorize course[_2] to change the category assigned to the course, as the one currently assigned is no longer used in the domain.','"','"');
$visactions{'addcat'} = &mt('Use [_1]Categorize course[_2] to assign a category to the course.','"','"');
@@ -7108,10 +6994,9 @@ ENDSCRIPT
my ($nav_script,$nav_links);
# table header
- my $heading = '