--- loncom/interface/loncreateuser.pm 2017/01/30 18:37:34 1.406.2.12
+++ loncom/interface/loncreateuser.pm 2017/01/28 21:35:49 1.433
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.406.2.12 2017/01/30 18:37:34 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.433 2017/01/28 21:35:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -252,13 +252,15 @@ sub build_tools_display {
'unofficial' => 'Can request creation of unofficial courses',
'community' => 'Can request creation of communities',
'textbook' => 'Can request creation of textbook courses',
+ 'placement' => 'Can request creation of placement tests',
'requestauthor' => 'Can request author space',
);
if ($context eq 'requestcourses') {
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
'requestcourses.official','requestcourses.unofficial',
- 'requestcourses.community','requestcourses.textbook');
- @usertools = ('official','unofficial','community','textbook');
+ 'requestcourses.community','requestcourses.textbook',
+ 'requestcourses.placement');
+ @usertools = ('official','unofficial','community','textbook','placement');
@options =('norequest','approval','autolimit','validate');
%validations = &Apache::lonnet::auto_courserequest_checks($ccdomain);
%reqtitles = &courserequest_titles();
@@ -333,6 +335,7 @@ sub build_tools_display {
'
'.$lt{$item}.' | '."\n".
' '."\n".
&Apache::loncommon::start_data_table_row()."\n";
+
if (($context eq 'requestcourses') || ($context eq 'requestauthor')) {
my ($curroption,$currlimit);
my $envkey = $context.'.'.$item;
@@ -451,12 +454,14 @@ sub coursereq_externaluser {
'unofficial' => 'Can request creation of unofficial courses',
'community' => 'Can request creation of communities',
'textbook' => 'Can request creation of textbook courses',
+ 'placement' => 'Can request creation of placement tests',
);
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
'reqcrsotherdom.official','reqcrsotherdom.unofficial',
- 'reqcrsotherdom.community','reqcrsotherdom.textbook');
- @usertools = ('official','unofficial','community','textbook');
+ 'reqcrsotherdom.community','reqcrsotherdom.textbook',
+ 'reqcrsotherdom.placement');
+ @usertools = ('official','unofficial','community','textbook','placement');
@options = ('approval','validate','autolimit');
%validations = &Apache::lonnet::auto_courserequest_checks($cdom);
my $optregex = join('|',@options);
@@ -537,6 +542,7 @@ sub courserequest_titles {
unofficial => 'Unofficial',
community => 'Communities',
textbook => 'Textbook',
+ placement => 'Placement Tests',
norequest => 'Not allowed',
approval => 'Approval by Dom. Coord.',
validate => 'With validation',
@@ -2168,6 +2174,7 @@ $lt{'uuas'} ($currentauth). $lt{'adcs'}.
ENDBADAUTH
}
} else { # Authentication type is valid
+
&initialize_authen_forms($ccdomain,$formname,$currentauth,'modifyuser');
my ($authformcurrent,$can_modify,@authform_others) =
&modify_login_block($ccdomain,$currentauth);
@@ -2726,7 +2733,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'});
@@ -2899,7 +2906,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) {
@@ -3190,8 +3197,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}) {
@@ -3257,7 +3265,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 =
@@ -3400,6 +3408,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:',
@@ -5415,6 +5424,7 @@ sub print_main_menu {
groups => 'Community Groups',
},
);
+ $linktext{'Placement'} = $linktext{'Course'};
my %linktitle = (
'Course' => {
@@ -5429,6 +5439,8 @@ sub print_main_menu {
},
);
+ $linktitle{'Placement'} = $linktitle{'Course'};
+
push(@{ $menu[0]->{items} }, #Category: Single Users
{
linktext => $linktext{$crstype}{'single'},
@@ -7195,7 +7207,7 @@ sub print_helpdeskaccess_display {
my $confname = $cdom.'-domainconfig';
my $crstype = &Apache::loncommon::course_type();
- my @accesstypes = ('all','dh','da','none');
+ my @accesstypes = ('all','anydh','anyda','none');
my ($numstatustypes,@jsarray);
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($cdom);
if (ref($types) eq 'ARRAY') {
@@ -7405,8 +7417,8 @@ ENDJS
'whi' => 'Which helpdesk personnel may use this role?',
'udd' => 'Use domain default',
'all' => 'All with domain helpdesk or helpdesk assistant role',
- 'dh' => 'All with domain helpdesk role',
- 'da' => 'All with domain helpdesk assistant role',
+ 'anydh' => 'All with domain helpdesk role',
+ 'anyda' => 'All with domain helpdesk assistant role',
'none' => 'None',
'status' => 'Determined based on institutional status',
'inc' => 'Include all, but exclude specific personnel',
@@ -7649,9 +7661,9 @@ sub domain_adhoc_access {
}
} elsif ($access eq 'none') {
$domusage{$role} = &mt('No one in the domain');
- } elsif ($access eq 'dh') {
+ } elsif ($access eq 'anydh') {
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh'));
- } elsif ($access eq 'da') {
+ } elsif ($access eq 'anyda') {
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('da'));
} elsif ($access eq 'all') {
$domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role',
@@ -7840,7 +7852,7 @@ sub update_helpdeskaccess {
$r->print(''.&mt('You do not have permission to change helpdesk access.').'
');
return;
}
- my @accesstypes = ('all','dh','da','none','status','inc','exc');
+ my @accesstypes = ('all','anydh','anyda','none','status','inc','exc');
my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
my $confname = $cdom.'-domainconfig';
@@ -8091,10 +8103,10 @@ sub update_helpdeskaccess {
if ($env{'form.'.$role.'_incrs'}) {
if ($newsettings{$role}{'access'} eq 'all') {
$r->print(&mt('All helpdesk staff can access '.lc($crstype).' with this role.'));
- } elsif ($newsettings{$role}{'access'} eq 'dh') {
+ } elsif ($newsettings{$role}{'access'} eq 'anydh') {
$r->print(&mt('Helpdesk staff can use this role if they have an active [_1] role',
&Apache::lonnet::plaintext('dh')));
- } elsif ($newsettings{$role}{'access'} eq 'da') {
+ } elsif ($newsettings{$role}{'access'} eq 'anyda') {
$r->print(&mt('Helpdesk staff can use this role if they have an active [_1] role',
&Apache::lonnet::plaintext('da')));
} elsif ($newsettings{$role}{'access'} eq 'none') {