--- loncom/interface/loncreateuser.pm 2022/09/08 01:41:13 1.459
+++ loncom/interface/loncreateuser.pm 2022/11/17 19:07:21 1.464
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.459 2022/09/08 01:41:13 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.464 2022/11/17 19:07:21 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -261,6 +261,7 @@ sub build_tools_display {
'lti' => 'Can request creation of LTI courses',
'requestauthor' => 'Can request author space',
);
+ $isadv = &Apache::lonnet::is_advanced_user($ccdomain,$ccuname);
if ($context eq 'requestcourses') {
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
'requestcourses.official','requestcourses.unofficial',
@@ -274,7 +275,6 @@ sub build_tools_display {
$colspan = ' colspan="2"';
%domconfig =
&Apache::lonnet::get_dom('configuration',['requestcourses'],$ccdomain);
- $isadv = &Apache::lonnet::is_advanced_user($ccdomain,$ccuname);
} elsif ($context eq 'requestauthor') {
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname,
'requestauthor');
@@ -296,9 +296,10 @@ sub build_tools_display {
$currdisp,$custdisp,$custradio);
$cust_off = 'checked="checked" ';
$tool_on = 'checked="checked" ';
- $curr_access =
+ $curr_access =
&Apache::lonnet::usertools_access($ccuname,$ccdomain,$item,undef,
- $context);
+ $context,\%userenv,'',
+ {'is_adv' => $isadv});
if ($context eq 'requestauthor') {
if ($userenv{$context} ne '') {
$cust_on = ' checked="checked" ';
@@ -1618,7 +1619,7 @@ ENDNOTOOLSPRIV
if ($newuser) {
$r->print(' onclick="auth_check()" \>'."\n");
} else {
- $r->print('onclick="this.form.submit()" \>'."\n");
+ $r->print(' onclick="this.form.submit()" \>'."\n");
}
} else {
$r->print(''.
@@ -2554,8 +2555,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".
@@ -3127,7 +3128,7 @@ sub update_user_data {
}
} elsif ($context eq 'author') {
if ($rolenum eq $auname && $roledom eq $audom) {
- if (!grep(/^\Q$role\E$/,@userroles)) {
+ if (!grep(/^\Q$role\E$/,@userroles)) {
push(@userroles,$role);
}
}
@@ -3426,6 +3427,10 @@ sub update_user_data {
&Apache::lonnet::appenv(\%newenvhash);
}
}
+ if ($changed{'aboutme'}) {
+ &Apache::loncommon::devalidate_aboutme_cache($env{'form.ccuname'},
+ $env{'form.ccdomain'});
+ }
}
}
if (keys(%namechanged) > 0) {
@@ -4103,9 +4108,9 @@ sub update_roles {
my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'},
$env{'form.ccuname'},$url,$role,0,$now,'','',
$context);
- $output = &Apache::lonhtmlcommon::confirm_success(&mt('Re-enabling [_1] in [_2]',
- &Apache::lonnet::plaintext($role),
- &Apache::loncommon::show_role_extent($url,$context,$role)),$result ne "ok").'
';
+ $output = &Apache::lonhtmlcommon::confirm_success(&mt('Re-enabling [_1] in [_2]',
+ &Apache::lonnet::plaintext($role),
+ &Apache::loncommon::show_role_extent($url,$context,$role)),$result ne "ok").'
';
if ($result ne "ok") {
$output .= &mt('Error: [_1]',$result).'
';
}
@@ -4150,7 +4155,7 @@ sub update_roles {
# split multiple sections
my %sections = ();
- my $num_sections = &build_roles($env{'form.sec_'.$full},\%sections,$5);
+ my $num_sections = &build_roles($env{'form.sec_'.$full},\%sections,$five);
if ($num_sections == 0) {
$r->print(&Apache::loncommon::commit_customrole($udom,$uname,$url,$three,$four,$five,$start,$end,$context));
} else {
@@ -4173,10 +4178,10 @@ sub update_roles {
# Activate roles for sections with 3 id numbers
# set start, end times, and the url for the class
my ($one,$two,$three)=($1,$2,$3);
- my $start = ( $env{'form.start_'.$one.'_'.$two.'_'.$three} ?
- $env{'form.start_'.$one.'_'.$two.'_'.$three} :
+ my $start = ( $env{'form.start_'.$one.'_'.$two.'_'.$three} ?
+ $env{'form.start_'.$one.'_'.$two.'_'.$three} :
$now );
- my $end = ( $env{'form.end_'.$one.'_'.$two.'_'.$three} ?
+ my $end = ( $env{'form.end_'.$one.'_'.$two.'_'.$three} ?
$env{'form.end_'.$one.'_'.$two.'_'.$three} :
0 );
my $url='/'.$one.'/'.$two;
@@ -4186,7 +4191,7 @@ sub update_roles {
my $num_sections = &build_roles($env{'form.sec_'.$one.'_'.$two.'_'.$three},\%sections,$three);
my $credits;
if ($three eq 'st') {
- if ($showcredits) {
+ if ($showcredits) {
my $defaultcredits =
&Apache::lonuserutils::get_defaultcredits($one,$two);
$credits = $env{'form.credits_'.$one.'_'.$two.'_'.$three};
@@ -4226,10 +4231,10 @@ sub update_roles {
} elsif ($key=~/^form\.act\_([^\_]+)\_([^\_]+)$/) {
# Activate roles for sections with two id numbers
# set start, end times, and the url for the class
- my $start = ( $env{'form.start_'.$1.'_'.$2} ?
- $env{'form.start_'.$1.'_'.$2} :
+ my $start = ( $env{'form.start_'.$1.'_'.$2} ?
+ $env{'form.start_'.$1.'_'.$2} :
$now );
- my $end = ( $env{'form.end_'.$1.'_'.$2} ?
+ my $end = ( $env{'form.end_'.$1.'_'.$2} ?
$env{'form.end_'.$1.'_'.$2} :
0 );
my $one = $1;
@@ -5361,7 +5366,8 @@ sub handler {
''.&mt('You do not have permission to view change logs').'');
}
} elsif ($env{'form.action'} eq 'helpdesk') {
- if (($permission->{'owner'}) || ($permission->{'co-owner'})) {
+ if (($permission->{'owner'} || $permission->{'co-owner'}) &&
+ ($permission->{'cusr'} || $permission->{'view'})) {
if ($env{'form.state'} eq 'process') {
if ($permission->{'owner'}) {
&update_helpdeskaccess($r,$permission,$brcrum);
@@ -5791,7 +5797,8 @@ sub print_main_menu {
icon => 'helpdesk-access.png',
#help => 'Course_Helpdesk_Access',
url => '/adm/createuser?action=helpdesk',
- permission => ($permission->{'owner'} || $permission->{'co-owner'}),
+ permission => (($permission->{'owner'} || $permission->{'co-owner'}) &&
+ ($permission->{'view'} || $permission->{'cusr'})),
linktitle => 'Helpdesk access options',
},
{