'
+ .&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))
+ .'
'
@@ -6839,7 +7034,7 @@ ENDSCRIPT
$showntableheader = 1;
}
my ($shown,$extra);
- my ($event,$data) = split(/\s+/,&unescape($event));
+ my ($event,$data) = split(/\s+/,&unescape($event),2);
if ($event eq 'Role') {
my ($rolecode,$extent) = split(/\./,$data,2);
next if ($extent eq '');
@@ -6891,8 +7086,17 @@ ENDSCRIPT
$shown = &mt('Role selection: [_1]',$rolename);
} else {
$shown = &mt($event);
- if ($data ne '') {
- $extra = &mt('Client IP address: [_1]',$data);
+ if ($data =~ /^webdav/) {
+ my ($path,$clientip) = split(/\s+/,$data,2);
+ $path =~ s/^webdav//;
+ if ($clientip ne '') {
+ $extra = &mt('Client IP address: [_1]',$clientip);
+ }
+ if ($path ne '') {
+ $shown .= ' '.&mt('(WebDAV access to [_1])',$path);
+ }
+ } elsif ($data ne '') {
+ $extra = &mt('Client IP address: [_1]',$data);
}
}
$r->print(
@@ -7001,7 +7205,7 @@ sub activity_display_filter {
# Update Display button
$output .= '
'
.''
- .'
';
+ .'';
return $output;
}
@@ -7195,7 +7399,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') {
@@ -7206,7 +7410,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'));
@@ -7404,7 +7608,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',
@@ -7591,7 +7797,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;
@@ -7607,8 +7814,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');
}
@@ -7622,10 +7829,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') {
@@ -7638,18 +7846,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;
@@ -7830,7 +8044,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';
@@ -7840,7 +8054,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)) {
@@ -8081,6 +8295,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') {
@@ -8196,18 +8416,18 @@ sub user_search_result {
my $domd_chk = &domdirectorysrch_check($srch);
$response .= ''.$instd_chk.' ';
if ($domd_chk eq 'ok') {
- $response .= &mt('You may want to search in the LON-CAPA domain instead of the institutional directory.');
+ $response .= &mt('You may want to search in the LON-CAPA domain instead of in the institutional directory.');
}
$response .= ' ';
}
} else {
unless (($context eq 'requestcrs') && ($srch->{'srchtype'} eq 'exact')) {
my $domd_chk = &domdirectorysrch_check($srch);
- if ($domd_chk ne 'ok') {
+ if (($domd_chk ne 'ok') && ($env{'form.action'} ne 'accesslogs')) {
my $instd_chk = &instdirectorysrch_check($srch);
$response .= ''.$domd_chk.' ';
if ($instd_chk eq 'ok') {
- $response .= &mt('You may want to search in the institutional directory instead of the LON-CAPA domain.');
+ $response .= &mt('You may want to search in the institutional directory instead of in the LON-CAPA domain.');
}
$response .= ' ';
}
@@ -8308,7 +8528,7 @@ sub user_search_result {
$response = ''.
&mt('Institutional directory search is not available in domain: [_1]',$showdom).
' '.
- &mt('You may want to search in the LON-CAPA domain instead of the institutional directory.').
+ &mt('You may want to search in the LON-CAPA domain instead of in the institutional directory.').
' ';
}
}
@@ -8381,7 +8601,7 @@ sub user_search_result {
$response = ''.
&mt('Institutional directory search is not available in domain: [_1]',$showdom).
' '.
- &mt('You may want to search in the LON-CAPA domain instead of the institutional directory.').
+ &mt('You may want to search in the LON-CAPA domain instead of in the institutional directory.').
' ';
}
}
@@ -8554,7 +8774,7 @@ sub build_search_response {
if ($srch->{'srchin'} ne 'alc') {
$forcenewuser = 1;
my $cansrchinst = 0;
- if ($srch->{'srchdomain'}) {
+ if (($srch->{'srchdomain'}) && ($env{'form.action'} ne 'accesslogs')) {
my %domconfig = &Apache::lonnet::get_dom('configuration',['directorysrch'],$srch->{'srchdomain'});
if (ref($domconfig{'directorysrch'}) eq 'HASH') {
if ($domconfig{'directorysrch'}{'available'}) {