'.
+ &Apache::loncommon::end_data_table_header_row();
foreach my $key (sort(keys(%customroles))) {
+ next if ((!$canmodify) && (!grep(/^\Q$key\E$/,@current)));
$output .= &Apache::loncommon::start_data_table_row();
- if (grep(/^\Q$key\E$/,@current)) {
- $output .= '
'.
- ''.
- &mt('Delete').''.
- '
';
- } else {
- $output .= '
'.
- ''.
- &mt('Add').''.
- '
';
+ if ($canmodify) {
+ if (grep(/^\Q$key\E$/,@current)) {
+ $output .= '
'.
+ ''.
+ &mt('Delete').''.
+ '
';
+ } else {
+ $output .= '
'.
+ ''.
+ &mt('Add').''.
+ '
';
+ }
}
$output .= '
'.$key.'
';
foreach my $level ('course','domain','system') {
@@ -583,7 +600,7 @@ sub domadhocroles {
}
my @privs = split(/:/,$customroles{$key}{$level});
foreach my $item (@privs) {
- next if ($item eq '');
+ next if ($item eq '');
my ($priv,$cond) = split(/\&/,$item);
$output .= &Apache::lonnet::plaintext($priv,'Course').$suffix.' ';
}
@@ -737,6 +754,8 @@ sub print_username_entry_form {
$helpitem = 'Course_Editing_Custom_Roles';
} elsif ($env{'form.action'} eq 'singlestudent') {
$helpitem = 'Course_Add_Student';
+ } elsif ($env{'form.action'} eq 'accesslogs') {
+ $helpitem = 'Domain_User_Access_Logs';
}
my %breadcrumb_text = &singleuser_breadcrumb($crstype);
if ($env{'form.action'} eq 'custom') {
@@ -766,6 +785,7 @@ sub print_username_entry_form {
'srst' => 'Search for a user and enroll as a student',
'srme' => 'Search for a user and enroll as a member',
'srad' => 'Search for a user and modify/add user information or roles',
+ 'srva' => 'Search for a user and view access log information',
'usr' => "Username",
'dom' => "Domain",
'ecrp' => "Define or Edit Custom Role",
@@ -818,6 +838,8 @@ sub print_username_entry_form {
} else {
$actiontext = $lt{'srst'};
}
+ } elsif ($env{'form.action'} eq 'accesslogs') {
+ $actiontext = $lt{'srva'};
}
$r->print("
$actiontext
");
if ($env{'form.origform'} ne 'crtusername') {
@@ -826,7 +848,7 @@ sub print_username_entry_form {
' ');
}
}
- $r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype));
+ $r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,1));
}
}
@@ -869,7 +891,7 @@ END
}
sub entry_form {
- my ($dom,$srch,$forcenewuser,$context,$responsemsg,$crstype) = @_;
+ my ($dom,$srch,$forcenewuser,$context,$responsemsg,$crstype,$fixeddom) = @_;
my ($usertype,$inexact);
if (ref($srch) eq 'HASH') {
if (($srch->{'srchin'} eq 'dom') &&
@@ -889,10 +911,12 @@ sub entry_form {
&Apache::lonuserutils::can_create_user($dom,$context,$usertype);
my ($userpicker,$cansearch) =
&Apache::loncommon::user_picker($dom,$srch,$forcenewuser,
- 'document.crtuser',$cancreate,$usertype);
+ 'document.crtuser',$cancreate,$usertype,$context,$fixeddom);
my $srchbutton = &mt('Search');
if ($env{'form.action'} eq 'singlestudent') {
$srchbutton = &mt('Search and Enroll');
+ } elsif ($env{'form.action'} eq 'accesslogs') {
+ $srchbutton = &mt('Search');
} elsif ($cancreate && $responsemsg ne '' && $inexact) {
$srchbutton = &mt('Search or Add New User');
}
@@ -909,7 +933,7 @@ ENDBLOCK
} else {
$output = '
'.$userpicker.'
';
}
- if ($env{'form.phase'} eq '') {
+ if (($env{'form.phase'} eq '') && ($env{'form.action'} ne 'accesslogs')) {
my $defdom=$env{'request.role.domain'};
my $domform = &Apache::loncommon::select_dom_form($defdom,'srchdomain');
my %lt=&Apache::lonlocal::texthash(
@@ -1025,9 +1049,11 @@ ENDSCRIPT
'usrch' => "User Search to add/modify roles",
'stusrch' => "User Search to enroll student",
'memsrch' => "User Search to enroll member",
+ 'srcva' => "Search for a user and view access log information",
'usel' => "Select a user to add/modify roles",
'stusel' => "Select a user to enroll as a student",
'memsel' => "Select a user to enroll as a member",
+ 'vacsel' => "Select a user to view access log",
'username' => "username",
'domain' => "domain",
'lastname' => "last name",
@@ -1076,6 +1102,10 @@ ENDSCRIPT
$r->print($lt{'stusel'});
}
$r->print('');
+ } elsif ($env{'form.action'} eq 'accesslogs') {
+ $r->print("$lt{'srcva'} ");
+ $r->print(&entry_form($srch->{'srchdomain'},$srch,undef,'accesslogs',undef,undef,1));
+ $r->print('