--- loncom/interface/loncreateuser.pm 2017/01/28 02:56:41 1.431
+++ loncom/interface/loncreateuser.pm 2017/03/26 22:11:54 1.436
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Create a user
#
-# $Id: loncreateuser.pm,v 1.431 2017/01/28 02:56:41 raeburn Exp $
+# $Id: loncreateuser.pm,v 1.436 2017/03/26 22:11:54 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -755,6 +755,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'};
@@ -763,6 +764,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'};
@@ -774,7 +776,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));
}
}
@@ -7207,7 +7209,7 @@ sub print_helpdeskaccess_display {
my $confname = $cdom.'-domainconfig';
my $crstype = &Apache::loncommon::course_type();
- my @accesstypes = ('all','none');
+ my @accesstypes = ('all','dh','da','none');
my ($numstatustypes,@jsarray);
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($cdom);
if (ref($types) eq 'ARRAY') {
@@ -7218,7 +7220,7 @@ sub print_helpdeskaccess_display {
}
}
my %customroles = &get_domain_customroles($cdom,$confname);
- my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh']);
+ my %domhelpdesk = &Apache::lonnet::get_active_domroles($cdom,['dh','da']);
if (keys(%domhelpdesk)) {
push(@accesstypes,('inc','exc'));
push(@jsarray,('notinc','notexc'));
@@ -7416,7 +7418,9 @@ ENDJS
'rou' => 'Role usage',
'whi' => 'Which helpdesk personnel may use this role?',
'udd' => 'Use domain default',
- 'all' => 'All',
+ 'all' => 'All with domain helpdesk or helpdesk assistant role',
+ 'dh' => 'All with domain helpdesk role',
+ 'da' => 'All with domain helpdesk assistant role',
'none' => 'None',
'status' => 'Determined based on institutional status',
'inc' => 'Include all, but exclude specific personnel',
@@ -7603,7 +7607,8 @@ sub domain_adhoc_access {
my $access = $domcurrent->{$role}{'access'};
if (($access eq '') || (!grep(/^\Q$access\E$/,@{$accesstypes}))) {
$access = 'all';
- $domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh'));
+ $domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role',&Apache::lonnet::plaintext('dh'),
+ &Apache::lonnet::plaintext('da'));
} elsif ($access eq 'status') {
if (ref($domcurrent->{$role}{$access}) eq 'ARRAY') {
my @shown;
@@ -7619,8 +7624,8 @@ sub domain_adhoc_access {
}
if (@shown) {
my $shownstatus = join(' '.&mt('or').' ',@shown);
- $domusage{$role} = &mt('Any user in domain with active [_1] role, and institutional status: [_2]',
- &Apache::lonnet::plaintext('dh'),$shownstatus);
+ $domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role, and institutional status: [_3]',
+ &Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'),$shownstatus);
} else {
$domusage{$role} = &mt('No one in the domain');
}
@@ -7634,10 +7639,11 @@ sub domain_adhoc_access {
}
my $showninc = join(', ',@dominc);
if ($showninc ne '') {
- $domusage{$role} = &mt('Include any user in domain with active [_1] role, except: [_2]',
- &Apache::lonnet::plaintext('dh'),$showninc);
+ $domusage{$role} = &mt('Include any user in domain with active [_1] or [_2] role, except: [_3]',
+ &Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'),$showninc);
} else {
- $domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh'));
+ $domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role',
+ &Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'));
}
}
} elsif ($access eq 'exc') {
@@ -7650,18 +7656,24 @@ sub domain_adhoc_access {
}
my $shownexc = join(', ',@domexc);
if ($shownexc ne '') {
- $domusage{$role} = &mt('Only the following in the domain with active [_1] role: [_2]',
- &Apache::lonnet::plaintext('dh'),$shownexc);
+ $domusage{$role} = &mt('Only the following in the domain with active [_1] or [_2] role: [_3]',
+ &Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'),$shownexc);
} else {
$domusage{$role} = &mt('No one in the domain');
}
} elsif ($access eq 'none') {
$domusage{$role} = &mt('No one in the domain');
- } elsif ($access eq 'all') {
+ } elsif ($access eq 'dh') {
$domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh'));
+ } elsif ($access eq 'da') {
+ $domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('da'));
+ } elsif ($access eq 'all') {
+ $domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role',
+ &Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'));
}
} else {
- $domusage{$role} = &mt('Any user in domain with active [_1] role',&Apache::lonnet::plaintext('dh'));
+ $domusage{$role} = &mt('Any user in domain with active [_1] or [_2] role',
+ &Apache::lonnet::plaintext('dh'),&Apache::lonnet::plaintext('da'));
}
}
return %domusage;
@@ -7842,7 +7854,7 @@ sub update_helpdeskaccess {
$r->print('
'.&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'; @@ -7852,7 +7864,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)) { @@ -8093,6 +8105,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') { @@ -8208,7 +8226,7 @@ sub user_search_result { my $domd_chk = &domdirectorysrch_check($srch); $response .= ''.$instd_chk.'