--- loncom/interface/loncreateuser.pm 2024/02/29 21:43:33 1.406.2.20.2.5
+++ loncom/interface/loncreateuser.pm 2018/03/23 01:01:21 1.449
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.406.2.20.2.5 2024/02/29 21:43:33 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.449 2018/03/23 01:01:21 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -71,7 +71,6 @@ use Apache::longroup;
use Apache::lonuserutils;
use Apache::loncoursequeueadmin;
use LONCAPA qw(:DEFAULT :match);
-use HTML::Entities;
my $loginscript; # piece of javascript used in two separate instances
my $authformnop;
@@ -79,9 +78,10 @@ my $authformkrb;
my $authformint;
my $authformfsys;
my $authformloc;
+my $authformlti;
sub initialize_authen_forms {
- my ($dom,$formname,$curr_authtype,$mode,$readonly) = @_;
+ my ($dom,$formname,$curr_authtype,$mode) = @_;
my ($krbdef,$krbdefdom) = &Apache::loncommon::get_kerberos_defaults($dom);
my %param = ( formname => $formname,
kerb_def_dom => $krbdefdom,
@@ -89,7 +89,7 @@ sub initialize_authen_forms {
domain => $dom,
);
my %abv_auth = &auth_abbrev();
- if ($curr_authtype =~ /^(krb4|krb5|internal|localauth|unix):(.*)$/) {
+ if ($curr_authtype =~ /^(krb4|krb5|internal|localauth|unix|lti):(.*)$/) {
my $long_auth = $1;
my $curr_autharg = $2;
my %abv_auth = &auth_abbrev();
@@ -102,15 +102,13 @@ sub initialize_authen_forms {
$param{'mode'} = $mode;
}
}
- if ($readonly) {
- $param{'readonly'} = 1;
- }
$loginscript = &Apache::loncommon::authform_header(%param);
$authformkrb = &Apache::loncommon::authform_kerberos(%param);
$authformnop = &Apache::loncommon::authform_nochange(%param);
$authformint = &Apache::loncommon::authform_internal(%param);
$authformfsys = &Apache::loncommon::authform_filesystem(%param);
$authformloc = &Apache::loncommon::authform_local(%param);
+ $authformlti = &Apache::loncommon::authform_lti(%param);
}
sub auth_abbrev {
@@ -120,6 +118,7 @@ sub auth_abbrev {
internal => 'int',
localauth => 'loc',
unix => 'fsys',
+ lti => 'lti',
);
return %abv_auth;
}
@@ -127,82 +126,14 @@ sub auth_abbrev {
# ====================================================
sub user_quotas {
- my ($ccuname,$ccdomain,$name) = @_;
+ my ($ccuname,$ccdomain) = @_;
my %lt = &Apache::lonlocal::texthash(
+ 'usrt' => "User Tools",
'cust' => "Custom quota",
'chqu' => "Change quota",
);
- my ($output,$longinsttype);
- my ($usertypes,$order) = &Apache::lonnet::retrieve_inst_usertypes($ccdomain);
- my %titles = &Apache::lonlocal::texthash (
- portfolio => "Disk space allocated to user's portfolio files",
- author => "Disk space allocated to user's Authoring Space",
- );
- my ($currquota,$quotatype,$inststatus,$defquota) =
- &Apache::loncommon::get_user_quota($ccuname,$ccdomain,$name);
- if ($longinsttype eq '') {
- if ($inststatus ne '') {
- if ($usertypes->{$inststatus} ne '') {
- $longinsttype = $usertypes->{$inststatus};
- }
- }
- }
- my ($showquota,$custom_on,$custom_off,$defaultinfo,$colspan);
- $custom_on = ' ';
- $custom_off = ' checked="checked" ';
- $colspan = ' colspan="2"';
- if ($quotatype eq 'custom') {
- $custom_on = $custom_off;
- $custom_off = ' ';
- $showquota = $currquota;
- if ($longinsttype eq '') {
- $defaultinfo = &mt('For this user, the default quota would be [_1]'
- .' MB.',$defquota);
- } else {
- $defaultinfo = &mt("For this user, the default quota would be [_1]".
- " MB,[_2]as determined by the user's institutional".
- " affiliation ([_3]).",$defquota,'
',$longinsttype);
- }
- } else {
- if ($longinsttype eq '') {
- $defaultinfo = &mt('For this user, the default quota is [_1]'
- .' MB.',$defquota);
- } else {
- $defaultinfo = &mt("For this user, the default quota of [_1]".
- " MB,[_2]is determined by the user's institutional".
- " affiliation ([_3]).",$defquota,'
',$longinsttype);
- }
- }
-
- if (&Apache::lonnet::allowed('mpq',$ccdomain)) {
- $output .= '
'.$authformcurrent.
@@ -2601,8 +2400,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,$excluded) = @_;
my ($output,%userenv,%canmodify,%canmodify_status);
my @userinfo = ('firstname','middlename','lastname','generation',
'permanentemail','id');
@@ -2685,7 +2484,7 @@ sub personal_data_display {
} else {
undef($condition);
}
- }
+ }
if ($excluded) {
unless ($excluded =~ /^\@[^\@]+$/) {
undef($condition);
@@ -2712,8 +2511,8 @@ sub personal_data_display {
}
$rowcount ++;
$output .= &Apache::lonhtmlcommon::row_closure(1);
- my $upassone = '';
- my $upasstwo = '';
+ my $upassone = '';
+ my $upasstwo = '';
$output .= &Apache::lonhtmlcommon::row_title(&mt('Password').'*',
'LC_pick_box_title',
'LC_oddrow_value')."\n".
@@ -2725,13 +2524,12 @@ sub personal_data_display {
$upasstwo.
&Apache::lonhtmlcommon::row_closure()."\n";
if ($usernameset eq 'free') {
- my $onclick = "toggleUsernameDisp(this,'selfcreateusername');";
+ my $onclick = "toggleUsernameDisp(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".
' ');
} else {
$r->print(' '.&mt('No information to display for this account request.').' ');
@@ -5617,9 +5222,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'},
@@ -5635,8 +5239,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",
@@ -5657,16 +5259,6 @@ sub handler {
$r->print(''.&mt('Self-enrollment with a student role').''."\n"); &update_selfenroll_config($r,$cid,$cdom,$cnum,$context,$crstype,\%currsettings); } - } elsif ($permission->{selfenrollview}) { - push(@{$brcrum}, - {href => '/adm/createuser?action=selfenroll', - text => "View Self-enrollment configuration", - help => 'Course_Self_Enrollment'}); - $args = { bread_crumbs => $brcrum, - bread_crumbs_component => 'Self-enrollment Settings'}; - $r->print(&header(undef,$args)); - $r->print(''.&mt('Self-enrollment with a student role').''."\n"); - &print_selfenroll_menu($r,'course',$cid,$cdom,$cnum,\%currsettings,'',1); } else { $r->print(&header(undef,{'no_nav_bar' => 1}). ''.&mt('You do not have permission to configure self-enrollment').''); @@ -5710,8 +5302,7 @@ sub handler { ''.&mt('You do not have permission to view change logs').''); } } elsif ($env{'form.action'} eq 'helpdesk') { - if (($permission->{'owner'} || $permission->{'co-owner'}) && - ($permission->{'cusr'} || $permission->{'view'})) { + if (($permission->{'owner'}) || ($permission->{'co-owner'})) { if ($env{'form.state'} eq 'process') { if ($permission->{'owner'}) { &update_helpdeskaccess($r,$permission,$brcrum); @@ -6097,6 +5688,7 @@ sub print_main_menu { groups => 'Community Groups', }, ); + $linktext{'Placement'} = $linktext{'Course'}; my %linktitle = ( 'Course' => { @@ -6111,6 +5703,8 @@ sub print_main_menu { }, ); + $linktitle{'Placement'} = $linktitle{'Course'}; + push(@{ $menu[0]->{items} }, #Category: Single Users { linktext => $linktext{$crstype}{'single'}, @@ -6138,8 +5732,7 @@ sub print_main_menu { icon => 'helpdesk-access.png', #help => 'Course_Helpdesk_Access', url => '/adm/createuser?action=helpdesk', - permission => (($permission->{'owner'} || $permission->{'co-owner'}) && - ($permission->{'view'} || $permission->{'cusr'})), + permission => ($permission->{'owner'} || $permission->{'co-owner'}), linktitle => 'Helpdesk access options', }, { @@ -6174,7 +5767,7 @@ sub print_main_menu { icon => 'selfenrl-queue.png', #help => 'Course_Approve_Selfenroll', url => '/adm/createuser?action=selfenrollqueue', - permission => $permission->{'selfenrolladmin'} || $permission->{'selfenrollview'}, + permission => $permission->{'selfenrolladmin'}, linktitle =>'Approve or reject enrollment requests.', }, ); @@ -6201,7 +5794,7 @@ sub print_main_menu { icon => 'self_enroll.png', #help => 'Course_Self_Enrollment', url => '/adm/createuser?action=selfenroll', - permission => $permission->{'selfenrolladmin'} || $permission->{'selfenrollview'}, + permission => $permission->{'selfenrolladmin'}, linktitle => 'Configure user self-enrollment.', }, ); @@ -6450,7 +6043,8 @@ ENDSCRIPT '// ]]>'."\n". ''."\n". ''.$lt->{'selfenroll'}.''."\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') { @@ -6613,10 +6207,11 @@ ENDSCRIPT } elsif ($curr_types eq '') { $add_domtitle = &mt('Users in other domain:'); } + my ($trusted,$untrusted) = &Apache::lonnet::trusted_domains('enroll',$cdom); $output .= &Apache::loncommon::start_data_table_row() .' | '.$add_domtitle.' ' .&Apache::loncommon::select_dom_form('','selfenroll_newdom', - $includeempty,$showdomdesc,'','','',$readonly) + $includeempty,$showdomdesc,'',$trusted,$untrusted,$readonly) .'' .' | '.&Apache::loncommon::end_data_table_row()
.&Apache::loncommon::end_data_table();
@@ -6995,7 +6590,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.',
@@ -7008,24 +6602,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.','"','"');
@@ -7516,10 +7099,9 @@ ENDSCRIPT
my ($nav_script,$nav_links);
# table header
- my $heading = '' .' | '.&mt('When').' | ' @@ -7637,7 +7219,7 @@ ENDSCRIPT $r->print(&Apache::loncommon::end_data_table(). &userlogdisplay_navlinks(\%curr,$more_records)); } else { # No content displayed above - $r->print($heading.'
---|