');
$r->print(&personal_data_display($ccuname,$ccdomain,$newuser,$context,
- $inst_results{$ccuname.':'.$ccdomain},$readonly));
+ $inst_results{$ccuname.':'.$ccdomain}));
# Option to disable student/employee ID conflict checking not offerred for new users.
my ($home_server_pick,$numlib) =
&Apache::loncommon::home_server_form_item($ccdomain,'hserver',
@@ -1645,7 +1390,7 @@ $lt{'hs'}: $home_server_pick
}
if (&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) {
$r->print('
'.
- &mt('Can Request Creation of Courses/Communities in this Domain?').'
'.
+ &mt('User Can Request Creation of Courses/Communities in this Domain?').''.
&Apache::loncommon::start_data_table().
&build_tools_display($ccuname,$ccdomain,
'requestcourses').
@@ -1741,55 +1486,45 @@ ENDAUTH
$inst_results{$ccuname.':'.$ccdomain}));
if ((&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) ||
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) {
- $r->print('
'.&mt('Can Request Creation of Courses/Communities in this Domain?').'
'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'
'."\n");
+ if (($env{'request.role.domain'} eq $ccdomain) ||
+ (&Apache::lonnet::will_trust('reqcrs',$ccdomain,$env{'request.role.domain'}))) {
+ $r->print(&Apache::loncommon::start_data_table());
+ if ($env{'request.role.domain'} eq $ccdomain) {
+ $r->print(&build_tools_display($ccuname,$ccdomain,'requestcourses'));
+ } else {
+ $r->print(&coursereq_externaluser($ccuname,$ccdomain,
+ $env{'request.role.domain'}));
+ }
+ $r->print(&Apache::loncommon::end_data_table());
} else {
- $r->print(&coursereq_externaluser($ccuname,$ccdomain,
- $env{'request.role.domain'}));
+ $r->print(&mt('Domain configuration for this domain prohibits course creation by users from domain: "[_1]"',
+ &Apache::lonnet::domain($ccdomain,'description')));
}
- $r->print(&Apache::loncommon::end_data_table());
}
$r->print('
');
- my @order = ('auth','quota','tools','requestauthor','authordefaults');
+ my @order = ('auth','quota','tools','requestauthor');
my %user_text;
my ($isadv,$isauthor) =
&Apache::lonnet::is_advanced_user($ccdomain,$ccuname);
- if (((&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) ||
+ if ((!$isauthor) &&
+ ((&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) ||
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) &&
- ($env{'request.role.domain'} eq $ccdomain)) {
- if (!$isauthor) {
- $user_text{'requestauthor'} = &domainrole_req($ccuname,$ccdomain);
- }
- $user_text{'authordefaults'} = &authoring_defaults($ccuname,$ccdomain);
- if (&Apache::lonnet::allowed('cau',$env{'request.role.domain'})) {
- $need_quota_js = 1;
- }
+ ($env{'request.role.domain'} eq $ccdomain)) {
+ $user_text{'requestauthor'} = &domainrole_req($ccuname,$ccdomain);
}
$user_text{'auth'} = &user_authentication($ccuname,$ccdomain,$formname,$crstype,$permission);
if ((&Apache::lonnet::allowed('mpq',$ccdomain)) ||
(&Apache::lonnet::allowed('mut',$ccdomain)) ||
(&Apache::lonnet::allowed('udp',$ccdomain))) {
- $user_text{'quota'} = '
'.&mt('User Tools').'
'."\n".
- &Apache::loncommon::start_data_table();
- if ((&Apache::lonnet::allowed('mut',$ccdomain)) ||
- (&Apache::lonnet::allowed('udp',$ccdomain))) {
- $user_text{'quota'} .= &build_tools_display($ccuname,$ccdomain,'tools');
- }
# Current user has quota modification privileges
- if ((&Apache::lonnet::allowed('mpq',$ccdomain)) ||
- (&Apache::lonnet::allowed('udp',$ccdomain))) {
- $user_text{'quota'} .= &user_quotas($ccuname,$ccdomain,'portfolio');
- $need_quota_js = 1;
- }
- $user_text{'quota'} .= &Apache::loncommon::end_data_table();
+ $user_text{'quota'} = &user_quotas($ccuname,$ccdomain);
}
if (!&Apache::lonnet::allowed('mpq',$ccdomain)) {
if (&Apache::lonnet::allowed('mpq',$env{'request.role.domain'})) {
my %lt=&Apache::lonlocal::texthash(
- 'dska' => "Disk quotas for user's portfolio",
- 'youd' => "You do not have privileges to modify the portfolio quota for this user.",
+ 'dska' => "Disk quotas for user's portfolio and Authoring Space",
+ 'youd' => "You do not have privileges to modify the portfolio and/or Authoring Space quotas for this user.",
'ichr' => "If a change is required, contact a domain coordinator for the domain",
);
$user_text{'quota'} = < "User Tools Availability",
- 'yodo' => "You do not have privileges to modify Portfolio, Blog, Personal Information Page, or Time Zone settings for this user.",
+ 'yodo' => "You do not have privileges to modify Portfolio, Blog, WebDAV, or Personal Information Page settings for this user.",
'ifch' => "If a change is required, contact a domain coordinator for the domain",
);
$user_text{'tools'} = <print(' onclick="auth_check()" \>'."\n");
} else {
- $r->print(' onclick="this.form.submit()" \>'."\n");
+ $r->print('onclick="this.form.submit()" \>'."\n");
}
} else {
$r->print(''.
@@ -1900,9 +1635,6 @@ ENDNOTOOLSPRIV
$r->print(&Apache::lonhtmlcommon::echo_form_input(['phase','userrole','ccdomain','prevphase','currstate','ccuname','ccdomain']));
$r->print('');
$r->print('
');
- if ($need_quota_js) {
- $r->print(&user_quota_js());
- }
return;
}
@@ -1961,16 +1693,14 @@ sub date_sections_select {
sub validation_javascript {
my ($context,$ccdomain,$pjump_def,$crstype,$groupslist,$newuser,$formname,
- $loaditem,$permission) = @_;
+ $loaditem) = @_;
my $dc_setcourse_code = '';
my $nondc_setsection_code = '';
if ($context eq 'domain') {
- if ((ref($permission) eq 'HASH') && ($permission->{'cusr'})) {
- my $dcdom = $env{'request.role.domain'};
- $loaditem->{'onload'} = "document.cu.coursedesc.value='';";
- $dc_setcourse_code =
- &Apache::lonuserutils::dc_setcourse_js('cu','singleuser',$context);
- }
+ my $dcdom = $env{'request.role.domain'};
+ $loaditem->{'onload'} = "document.cu.coursedesc.value='';";
+ $dc_setcourse_code =
+ &Apache::lonuserutils::dc_setcourse_js('cu','singleuser',$context);
} else {
my $checkauth;
if (($newuser) || (&Apache::lonnet::allowed('mau',$ccdomain))) {
@@ -2042,12 +1772,7 @@ sub display_existing_roles {
next unless (($rnum eq $env{'course.'.$env{'request.course.id'}.'.num'})
&& ($rdom eq $env{'course.'.$env{'request.course.id'}.'.domain'}));
} elsif ($context eq 'author') {
- if ($env{'request.role'} =~ m{^ca\./($match_domain)/($match_username)$}) {
- my ($audom,$auname) = ($1,$2);
- next unless (($rnum eq $auname) && ($rdom eq $audom));
- } else {
- next unless (($rnum eq $env{'user.name'}) && ($rdom eq $env{'request.role.domain'}));
- }
+ next unless (($rnum eq $env{'user.name'}) && ($rdom eq $env{'request.role.domain'}));
}
my ($newkey,$newvalue,$newrole);
$newkey = '/'.$rdom.'/'.$rnum;
@@ -2207,8 +1932,6 @@ sub display_existing_roles {
$area=~m{/($match_domain)/($match_username)};
if (&Apache::lonuserutils::authorpriv($2,$1)) {
$allowed=1;
- } elsif (&Apache::lonuserutils::coauthorpriv($2,$1)) {
- $allowed=1;
} else {
$allowed=0;
}
@@ -2311,9 +2034,6 @@ sub display_existing_roles {
}
} elsif ($env{'request.role'} =~ /^au\./) {
$contextrole = &mt('Existing Co-Author Roles in your Authoring Space');
- } elsif ($env{'request.role'} =~ m{^ca\./($match_domain)/($match_username)/$}) {
- $contextrole = &mt('Existing Co-Author Roles in [_1] Authoring Space',
- ''.$1.'_'.$2.'');
} else {
if ($showall) {
$contextrole = &mt('Existing Roles in this Domain');
@@ -2355,25 +2075,13 @@ sub new_coauthor_roles {
#
# Co-Author
#
- my ($cuname,$cudom);
- if (($env{'request.role'} eq "au./$env{'user.domain'}/") ||
- ($env{'request.role'} eq "dc./$env{'user.domain'}/")) {
- $cuname=$env{'user.name'};
- $cudom=$env{'request.role.domain'};
+ if (&Apache::lonuserutils::authorpriv($env{'user.name'},
+ $env{'request.role.domain'}) &&
+ ($env{'user.name'} ne $ccuname || $env{'user.domain'} ne $ccdomain)) {
# No sense in assigning co-author role to yourself
- if ((&Apache::lonuserutils::authorpriv($cuname,$cudom)) &&
- ($env{'user.name'} ne $ccuname || $env{'user.domain'} ne $ccdomain)) {
- $addrolesdisplay = 1;
- }
- } elsif ($env{'request.role'} =~ m{^ca\./($match_domain)/($match_username)$}) {
- ($cudom,$cuname) = ($1,$2);
- if ((&Apache::lonuserutils::coauthorpriv($cuname,$cudom)) &&
- ($env{'user.name'} ne $ccuname || $env{'user.domain'} ne $ccdomain) &&
- ($cudom ne $ccdomain || $cuname ne $ccuname)) {
- $addrolesdisplay = 1;
- }
- }
- if ($addrolesdisplay) {
+ $addrolesdisplay = 1;
+ my $cuname=$env{'user.name'};
+ my $cudom=$env{'request.role.domain'};
my %lt=&Apache::lonlocal::texthash(
'cs' => "Authoring Space",
'act' => "Activate",
@@ -2428,17 +2136,6 @@ sub new_coauthor_roles {
($env{'user.domain'} eq $ccdomain)) {
$r->print(&mt('Assigning yourself a co-author or assistant co-author role in your own author area in Authoring Space is not permitted'));
}
- } elsif ($env{'request.role'} =~ m{^ca\./($match_domain)/($match_username)$}) {
- if (!(&Apache::lonuserutils::coauthorpriv($2,$1))) {
- $r->print(''.
- &mt('You do not have privileges to assign co-author roles.').
- '');
- } elsif (($env{'user.name'} eq $ccuname) &&
- ($env{'user.domain'} eq $ccdomain)) {
- $r->print(&mt('Assigning yourself a co-author or assistant co-author role in an author area in Authoring Space in which you already have a co-author role is not permitted'));
- } elsif (($cudom eq $ccdomain) && ($cuname eq $ccuname)) {
- $r->print(&mt("Assigning a co-author or assistant co-author role to an Authoring Space's author is not permitted"));
- }
}
return $addrolesdisplay;;
}
@@ -2459,11 +2156,20 @@ sub new_domain_roles {
'
'.&mt('Start').'
'.&mt('End').'
'.
&Apache::loncommon::end_data_table_header_row();
my @allroles = &Apache::lonuserutils::roles_by_context('domain');
+ my $uprimary = &Apache::lonnet::domain($env{'request.role.domain'},'primary');
+ my $uintdom = &Apache::lonnet::internet_dom($uprimary);
foreach my $thisdomain (sort(&Apache::lonnet::all_domains())) {
foreach my $role (@allroles) {
next if ($role eq 'ad');
next if (($role eq 'au') && ($ccdomain ne $thisdomain));
if (&Apache::lonnet::allowed('c'.$role,$thisdomain)) {
+ if ($role eq 'dc') {
+ unless ($thisdomain eq $env{'request.role.domain'}) {
+ my $domprim = &Apache::lonnet::domain($thisdomain,'primary');
+ my $intdom = &Apache::lonnet::internet_dom($domprim);
+ next unless ($uintdom eq $intdom);
+ }
+ }
my $plrole=&Apache::lonnet::plaintext($role);
my %lt=&Apache::lonlocal::texthash(
'ssd' => "Set Start Date",
@@ -2505,7 +2211,7 @@ sub user_authentication {
'ld' => "Login Data"
);
# Check for a bad authentication type
- if ($currentauth !~ /^(krb4|krb5|unix|internal|localauth):/) {
+ if ($currentauth !~ /^(krb4|krb5|unix|internal|localauth|lti):/) {
# bad authentication scheme
if (&Apache::lonnet::allowed('mau',$ccdomain)) {
&initialize_authen_forms($ccdomain,$formname);
@@ -2532,6 +2238,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);
@@ -2620,6 +2327,8 @@ ENDJS
$result = &mt('Currently using local (institutional) authentication.');
} elsif ($currentauth =~ /^unix:/) {
$result = &mt('Currently Filesystem Authenticated.');
+ } elsif ($currentauth =~ /^lti:/) {
+ $result = &mt('Currently LTI authenticated.');
}
$outcome = '
'.$lt{'ld'}.'
'.
&Apache::loncommon::start_data_table().
@@ -2658,6 +2367,9 @@ sub modify_login_block {
if ($can_assign{'loc'}) {
push(@authform_others,$authformloc);
}
+ if ($can_assign{'lti'}) {
+ push(@authform_others,$authformlti);
+ }
if (($can_assign{'krb4'}) || ($can_assign{'krb5'})) {
$show_override_msg = 1;
}
@@ -2669,6 +2381,9 @@ sub modify_login_block {
if ($can_assign{'loc'}) {
push(@authform_others,$authformloc);
}
+ if ($can_assign{'lti'}) {
+ push(@authform_others,$authformlti);
+ }
if ($can_assign{'int'}) {
$show_override_msg = 1;
}
@@ -2683,6 +2398,9 @@ sub modify_login_block {
if ($can_assign{'loc'}) {
push(@authform_others,$authformloc);
}
+ if ($can_assign{'lti'}) {
+ push(@authform_others,$authformlti);
+ }
if ($can_assign{'fsys'}) {
$show_override_msg = 1;
}
@@ -2694,9 +2412,23 @@ sub modify_login_block {
if ($can_assign{'int'}) {
push(@authform_others,$authformint);
}
+ if ($can_assign{'lti'}) {
+ push(@authform_others,$authformlti);
+ }
if ($can_assign{'loc'}) {
$show_override_msg = 1;
}
+ } elsif ($currentauth=~/^lti:/) {
+ $authformcurrent=$authformlti;
+ if (($can_assign{'krb4'}) || ($can_assign{'krb5'})) {
+ push(@authform_others,$authformkrb);
+ }
+ if ($can_assign{'int'}) {
+ push(@authform_others,$authformint);
+ }
+ if ($can_assign{'loc'}) {
+ push(@authform_others,$authformloc);
+ }
}
if ($show_override_msg) {
$authformcurrent = '
'.$authformcurrent.
@@ -2711,9 +2443,9 @@ sub modify_login_block {
}
sub personal_data_display {
- my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$readonly,$rolesarray,$now,
+ my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray,$now,
$captchaform,$emailusername,$usertype,$usernameset,$condition,$excluded,$showsubmit) = @_;
- my ($output,%userenv,%canmodify,%canmodify_status,$disabled);
+ my ($output,%userenv,%canmodify,%canmodify_status);
my @userinfo = ('firstname','middlename','lastname','generation',
'permanentemail','id');
my $rowcount = 0;
@@ -2782,8 +2514,6 @@ sub personal_data_display {
%canmodify = &selfcreate_canmodify($context,$ccdomain,\@userinfo,
$inst_results,$rolesarray);
}
- } elsif ($readonly) {
- $disabled = ' disabled="disabled"';
}
my $genhelp=&Apache::loncommon::help_open_topic('Generation');
@@ -2797,7 +2527,7 @@ sub personal_data_display {
} else {
undef($condition);
}
- }
+ }
if ($excluded) {
unless ($excluded =~ /^\@[^\@]+$/) {
undef($condition);
@@ -2837,7 +2567,7 @@ 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: ').
'