--- loncom/interface/loncreateuser.pm 2014/02/19 17:12:52 1.394
+++ loncom/interface/loncreateuser.pm 2016/04/02 04:30:20 1.411
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.394 2014/02/19 17:12:52 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.411 2016/04/02 04:30:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -251,13 +251,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();
@@ -447,12 +449,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);
@@ -533,6 +537,7 @@ sub courserequest_titles {
unofficial => 'Unofficial',
community => 'Communities',
textbook => 'Textbook',
+ placement => 'Placement Tests',
norequest => 'Not allowed',
approval => 'Approval by Dom. Coord.',
validate => 'With validation',
@@ -1813,7 +1818,7 @@ sub display_existing_roles {
}
} else {
$plaintext=
- &mt('Customrole [_1][_2]defined by [_3]',
+ &mt('Custom role [_1][_2]defined by [_3]',
'"'.$croletitle.'"',
'
',
$croleuname.':'.$croleudom);
@@ -2164,7 +2169,7 @@ sub modify_login_block {
sub personal_data_display {
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray,
- $now,$captchaform,$emailusername) = @_;
+ $now,$captchaform,$emailusername,$usertype) = @_;
my ($output,%userenv,%canmodify,%canmodify_status);
my @userinfo = ('firstname','middlename','lastname','generation',
'permanentemail','id');
@@ -2206,19 +2211,24 @@ sub personal_data_display {
\@userinfo,$rolesarray);
} elsif ($context eq 'selfcreate') {
if ($newuser eq 'email') {
- if (ref($emailusername) 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->{$field}) {
- push(@userinfo,$field);
- $canmodify{$field} = 1;
- unless ($textboxsize{$field}) {
- $textboxsize{$field} = 25;
- }
- unless ($lt{$field}) {
- $lt{$field} = $infotitles->{$field};
+ 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} .= '*';
+ }
}
}
}
@@ -2234,19 +2244,19 @@ sub personal_data_display {
$output = '
'.$visactions->{'vis'}.'
'; + + my $visactions = &cat_visibility(); + my ($cathash,%cattype); + my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$cdom); + if (ref($domconfig{'coursecategories'}) eq 'HASH') { + $cathash = $domconfig{'coursecategories'}{'cats'}; + $cattype{'auth'} = $domconfig{'coursecategories'}{'auth'}; + $cattype{'unauth'} = $domconfig{'coursecategories'}{'unauth'}; + if ($cattype{'auth'} eq '') { + $cattype{'auth'} = 'std'; + } + if ($cattype{'unauth'} eq '') { + $cattype{'unauth'} = 'std'; + } + } else { + $cathash = {}; + $cattype{'auth'} = 'std'; + $cattype{'unauth'} = 'std'; + } + if (($cattype{'auth'} eq 'none') && ($cattype{'unauth'} eq 'none')) { + $r->print(''.$visactions->{'miss'}.'
' - .$visactions->{'yous'}. - ''.$visactions->{'gen'}.'
'.$visactions->{'coca'};
- if (ref($vismsgs) eq 'ARRAY') {
- $output .= '
'.$visactions->{'make'}.'
'.$visactions->{'vis'}.'
'; + } else { + $output .= ''.$visactions->{'miss'}.'
' + .$visactions->{'yous'}. + ''.$visactions->{'gen'}.'
'.$visactions->{'coca'};
+ if (ref($vismsgs) eq 'ARRAY') {
+ $output .= '
'.$visactions->{'make'}.'