--- loncom/interface/loncreateuser.pm 2017/01/22 16:00:17 1.406.2.10
+++ loncom/interface/loncreateuser.pm 2017/03/26 23:33:46 1.406.2.13
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.406.2.10 2017/01/22 16:00:17 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.406.2.13 2017/03/26 23:33:46 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -749,6 +749,7 @@ sub print_username_entry_form {
}
} else {
my $actiontext = $lt{'srad'};
+ my $fixeddom;
if ($env{'form.action'} eq 'singlestudent') {
if ($crstype eq 'Community') {
$actiontext = $lt{'srme'};
@@ -757,6 +758,7 @@ sub print_username_entry_form {
}
} elsif ($env{'form.action'} eq 'accesslogs') {
$actiontext = $lt{'srva'};
+ $fixeddom = 1;
} elsif (($env{'form.action'} eq 'singleuser') &&
($context eq 'domain') && (!&Apache::lonnet::allowed('mau',$defdom))) {
$actiontext = $lt{'srvu'};
@@ -768,7 +770,7 @@ sub print_username_entry_form {
'
');
}
}
- $r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,1));
+ $r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,$fixeddom));
}
}
@@ -4375,7 +4377,6 @@ sub custom_role_editor {
);
my $args = { bread_crumbs => $brcrum,
bread_crumbs_component => 'User Management'};
-
$r->print(&Apache::loncommon::start_page('Custom Role Editor',
$head_script,$args).
$body_top);
@@ -5022,7 +5023,6 @@ sub handler {
$r->print(&header(undef,{'no_nav_bar' => 1}).
''.&mt('You do not have permission to manage self-enrollment').'');
}
-
} elsif ($env{'form.action'} eq 'changelogs') {
if ($permission->{cusr} || $permission->{view}) {
&print_userchangelogs_display($r,$context,$permission,$brcrum);
@@ -5300,7 +5300,6 @@ sub print_main_menu {
unless ($permission->{'cusr'}) {
$links{'domain'}{'singleuser'} = 'View a User';
$linktitles{'domain'}{'singleuser'} = 'View information about a user in the domain';
-
}
} elsif ($linkcontext eq 'course') {
unless ($permission->{'cusr'}) {
@@ -5370,14 +5369,6 @@ sub print_main_menu {
push(@{ $menu[2]->{items} }, #Category: Administration
{
- linktext => 'Helpdesk Access',
- icon => 'helpdesk-access.png',
- #help => 'Course_Helpdesk_Access',
- url => '/adm/createuser?action=helpdesk',
- permission => ($permission->{'owner'} || $permission->{'co-owner'}),
- linktitle => 'Helpdesk access options',
- },
- {
linktext => 'Custom Roles',
icon => 'emblem-photos.png',
#help => 'Course_Editing_Custom_Roles',
@@ -5462,7 +5453,15 @@ sub print_main_menu {
},
);
push(@{ $menu[2]->{items} }, #Category: Administration
- {
+ {
+ linktext => 'Helpdesk Access',
+ icon => 'helpdesk-access.png',
+ #help => 'Course_Helpdesk_Access',
+ url => '/adm/createuser?action=helpdesk',
+ permission => ($permission->{'owner'} || $permission->{'co-owner'}),
+ linktitle => 'Helpdesk access options',
+ },
+ {
linktext => 'Custom Roles',
icon => 'emblem-photos.png',
#help => 'Course_Editing_Custom_Roles',
@@ -6179,8 +6178,8 @@ ENDSCRIPT
.&mt('Save').'" onclick="validate_types(this.form);" />';
}
$output .= ''
- .''."\n"
- .$additional.'';
+ .''."\n"
+ .$additional.'';
$r->print($output);
return;
}
@@ -6675,20 +6674,25 @@ sub print_useraccesslogs_display {
# set breadcrumbs
my %breadcrumb_text = &singleuser_breadcrumb('','domain',$udom);
- push (@{$brcrum},
- {href => "javascript:backPage($form)",
- text => $breadcrumb_text{'search'}});
- my (@prevphases,$prevphasestr);
- if ($env{'form.prevphases'}) {
- @prevphases = split(/,/,$env{'form.prevphases'});
- $prevphasestr = $env{'form.prevphases'};
- }
- if (($env{'form.phase'} eq 'userpicked') || (grep(/^userpicked$/,@prevphases))) {
- push(@{$brcrum},
- {href => "javascript:backPage($form,'get_user_info','select')",
- text => $breadcrumb_text{'userpicked'}});
- if ($env{'form.phase'} eq 'userpicked') {
- $prevphasestr = 'userpicked';
+ my $prevphasestr;
+ if ($env{'form.popup'}) {
+ $brcrum = [];
+ } else {
+ push (@{$brcrum},
+ {href => "javascript:backPage($form)",
+ text => $breadcrumb_text{'search'}});
+ my @prevphases;
+ if ($env{'form.prevphases'}) {
+ @prevphases = split(/,/,$env{'form.prevphases'});
+ $prevphasestr = $env{'form.prevphases'};
+ }
+ if (($env{'form.phase'} eq 'userpicked') || (grep(/^userpicked$/,@prevphases))) {
+ push(@{$brcrum},
+ {href => "javascript:backPage($form,'get_user_info','select')",
+ text => $breadcrumb_text{'userpicked'}});
+ if ($env{'form.phase'} eq 'userpicked') {
+ $prevphasestr = 'userpicked';
+ }
}
}
push(@{$brcrum},
@@ -6700,6 +6704,7 @@ sub print_useraccesslogs_display {
bread_crumbs_component => 'User Management'};
if ($env{'form.popup'}) {
$args->{'no_nav_bar'} = 1;
+ $args->{'bread_crumbs_nomenu'} = 1;
}
# set javascript
@@ -6725,8 +6730,12 @@ ENDSCRIPT
unless ($permission->{'activity'}) {
$r->print('
' .&mt('You do not have rights to display user access logs.') - .'
' - .&earlyout_accesslog_form($formname,$prevphasestr,$udom)); + .''); + if ($env{'form.popup'}) { + $r->print(''); + } else { + $r->print(&earlyout_accesslog_form($formname,$prevphasestr,$udom)); + } return; } @@ -6746,6 +6755,24 @@ ENDSCRIPT return; } + if (&Apache::lonnet::privileged($uname,$udom, + [$env{'request.role.domain'}],['dc','su'])) { + unless (&Apache::lonnet::privileged($env{'user.name'},$env{'user.domain'}, + [$env{'request.role.domain'}],['dc','su'])) { + $r->print('' + .&mt('You need to be a privileged user to display user access logs for [_1]', + &Apache::loncommon::aboutmewrapper(&Apache::loncommon::plainname($uname,$udom), + $uname,$udom)) + .'
'); + if ($env{'form.popup'}) { + $r->print(''); + } else { + $r->print(&earlyout_accesslog_form($formname,$prevphasestr,$udom)); + } + return; + } + } + # set defaults my $now = time(); my $defstart = $now - (7*24*3600); @@ -6792,8 +6819,10 @@ ENDSCRIPT my ($nav_script,$nav_links); # table header - my $tableheader = - &Apache::loncommon::start_data_table_header_row() + my $tableheader = '' .'' - .'
'; + .''.&mt('You do not have permission to change helpdesk access.').'
'); return; } - my @accesstypes = ('all','none','status','inc','exc'); + my @accesstypes = ('all','dh','da','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'; @@ -7831,7 +7879,7 @@ sub update_helpdeskaccess { my (%settings,%overridden); &get_adhocrole_settings($env{'request.course.id'},\@accesstypes, $types,\%customroles,\%settings,\%overridden); - my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh']); + my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh','da']); my (%changed,%storehash,@todelete); if (keys(%customroles)) { @@ -8072,6 +8120,12 @@ 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') { + $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') { + $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') { $r->print(&mt('No helpdesk staff can access '.lc($crstype).' with this role.')); } elsif ($newsettings{$role}{'access'} eq 'status') {