version 1.325, 2009/11/12 16:09:10
|
version 1.328, 2009/11/23 13:03:58
|
Line 552 sub print_username_entry_form {
|
Line 552 sub print_username_entry_form {
|
&mt('View/Modify existing role:').'</b></label></td>'. |
&mt('View/Modify existing role:').'</b></label></td>'. |
'<td align="center"><br />'. |
'<td align="center"><br />'. |
'<select name="rolename" onchange="setCustomAction('."'edit'".');">'. |
'<select name="rolename" onchange="setCustomAction('."'edit'".');">'. |
'<option value="" selected="selected" onchange="">'. |
'<option value="" selected="selected">'. |
&mt('Select')); |
&mt('Select')); |
foreach my $role (sort(keys(%existingroles))) { |
foreach my $role (sort(keys(%existingroles))) { |
$r->print('<option value="$role">'.$role.'</option>'); |
$r->print('<option value="'.$role.'">'.$role.'</option>'); |
} |
} |
$r->print('</select>'. |
$r->print('</select>'. |
'</td>'. |
'</td>'. |
Line 4417 sub print_main_menu {
|
Line 4417 sub print_main_menu {
|
linktitle => $linktitle{$crstype}{'groups'}, |
linktitle => $linktitle{$crstype}{'groups'}, |
}, |
}, |
{ |
{ |
linktext => 'Change Logs', |
linktext => 'Change Log', |
icon => 'document-properties.png', |
icon => 'document-properties.png', |
#help => 'Course_User_Logs', |
#help => 'Course_User_Logs', |
url => '/adm/createuser?action=changelogs', |
url => '/adm/createuser?action=changelogs', |
Line 5161 sub print_userchangelogs_display {
|
Line 5161 sub print_userchangelogs_display {
|
my %roleslog=&Apache::lonnet::dump('nohist_rolelog',$cdom,$cnum); |
my %roleslog=&Apache::lonnet::dump('nohist_rolelog',$cdom,$cnum); |
if ((keys(%roleslog))[0]=~/^error\:/) { undef(%roleslog); } |
if ((keys(%roleslog))[0]=~/^error\:/) { undef(%roleslog); } |
|
|
$r->print('<form action="/adm/createuser" method="post" name="'.$formname.'">'); |
|
my %saveable_parameters = ('show' => 'scalar',); |
my %saveable_parameters = ('show' => 'scalar',); |
&Apache::loncommon::store_course_settings('roles_log', |
&Apache::loncommon::store_course_settings('roles_log', |
\%saveable_parameters); |
\%saveable_parameters); |
Line 5196 sub print_userchangelogs_display {
|
Line 5195 sub print_userchangelogs_display {
|
} |
} |
my (%whodunit,%changed,$version); |
my (%whodunit,%changed,$version); |
($version) = ($r->dir_config('lonVersion') =~ /^([\d\.]+)\-/); |
($version) = ($r->dir_config('lonVersion') =~ /^([\d\.]+)\-/); |
$r->print(&role_display_filter($formname,$cdom,$cnum,\%curr,$version,$crstype)); |
|
my ($minshown,$maxshown); |
my ($minshown,$maxshown); |
$minshown = 1; |
$minshown = 1; |
my $count = 0; |
my $count = 0; |
Line 5207 sub print_userchangelogs_display {
|
Line 5205 sub print_userchangelogs_display {
|
} |
} |
} |
} |
|
|
# Collect user change log data |
# Form Header |
my $content = ''; |
$r->print('<form action="/adm/createuser" method="post" name="'.$formname.'">'. |
|
&role_display_filter($formname,$cdom,$cnum,\%curr,$version,$crstype)); |
|
|
|
# Create navigation |
|
my ($nav_script,$nav_links) = &userlogdisplay_nav($formname,\%curr,$more_records); |
|
my $showntableheader = 0; |
|
|
|
# Table Header |
|
my $tableheader = |
|
&Apache::loncommon::start_data_table_header_row() |
|
.'<th> </th>' |
|
.'<th>'.&mt('When').'</th>' |
|
.'<th>'.&mt('Who made the change').'</th>' |
|
.'<th>'.&mt('Changed User').'</th>' |
|
.'<th>'.&mt('Role').'</th>' |
|
.'<th>'.&mt('Section').'</th>' |
|
.'<th>'.&mt('Context').'</th>' |
|
.'<th>'.&mt('Start').'</th>' |
|
.'<th>'.&mt('End').'</th>' |
|
.&Apache::loncommon::end_data_table_header_row(); |
|
|
|
# Display user change log data |
foreach my $id (sort { $roleslog{$b}{'exe_time'}<=>$roleslog{$a}{'exe_time'} } (keys(%roleslog))) { |
foreach my $id (sort { $roleslog{$b}{'exe_time'}<=>$roleslog{$a}{'exe_time'} } (keys(%roleslog))) { |
next if (($roleslog{$id}{'exe_time'} < $curr{'rolelog_start_date'}) || |
next if (($roleslog{$id}{'exe_time'} < $curr{'rolelog_start_date'}) || |
($roleslog{$id}{'exe_time'} > $curr{'rolelog_end_date'})); |
($roleslog{$id}{'exe_time'} > $curr{'rolelog_end_date'})); |
Line 5230 sub print_userchangelogs_display {
|
Line 5249 sub print_userchangelogs_display {
|
} |
} |
$count ++; |
$count ++; |
next if ($count < $minshown); |
next if ($count < $minshown); |
|
unless ($showntableheader) { |
|
$r->print($nav_script |
|
.$nav_links |
|
.&Apache::loncommon::start_data_table() |
|
.$tableheader); |
|
$r->rflush(); |
|
$showntableheader = 1; |
|
} |
if ($whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}} eq '') { |
if ($whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}} eq '') { |
$whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}} = |
$whodunit{$roleslog{$id}{'exe_uname'}.':'.$roleslog{$id}{'exe_udom'}} = |
&Apache::loncommon::plainname($roleslog{$id}{'exe_uname'},$roleslog{$id}{'exe_udom'}); |
&Apache::loncommon::plainname($roleslog{$id}{'exe_uname'},$roleslog{$id}{'exe_udom'}); |
Line 5269 sub print_userchangelogs_display {
|
Line 5295 sub print_userchangelogs_display {
|
if ($chgcontext ne '' && $lt{$chgcontext} ne '') { |
if ($chgcontext ne '' && $lt{$chgcontext} ne '') { |
$chgcontext = $lt{$chgcontext}; |
$chgcontext = $lt{$chgcontext}; |
} |
} |
$content .= |
$r->print( |
&Apache::loncommon::start_data_table_row() |
&Apache::loncommon::start_data_table_row() |
.'<td>'.$count.'</td>' |
.'<td>'.$count.'</td>' |
.'<td>'.&Apache::lonlocal::locallocaltime($roleslog{$id}{'exe_time'}).'</td>' |
.'<td>'.&Apache::lonlocal::locallocaltime($roleslog{$id}{'exe_time'}).'</td>' |
Line 5280 sub print_userchangelogs_display {
|
Line 5306 sub print_userchangelogs_display {
|
.'<td>'.$chgcontext.'</td>' |
.'<td>'.$chgcontext.'</td>' |
.'<td>'.$rolestart.'</td>' |
.'<td>'.$rolestart.'</td>' |
.'<td>'.$roleend.'</td>' |
.'<td>'.$roleend.'</td>' |
.&Apache::loncommon::end_data_table_row(); |
.&Apache::loncommon::end_data_table_row()."\n"); |
} |
} |
|
|
# Form Footer |
if ($showntableheader) { # Table footer, if content displayed above |
my $form_footer = |
$r->print(&Apache::loncommon::end_data_table() |
'<input type="hidden" name="page" value="'.$curr{'page'}.'" />' |
.$nav_links); |
.'<input type="hidden" name="action" value="changelogs" />' |
} else { # No content displayed above |
.'</form>'; |
|
|
|
# Only display table, if content is available (has been collected above) |
|
if (!$content) { |
|
$r->print('<p class="LC_info">' |
$r->print('<p class="LC_info">' |
.&mt('There are no records to display.') |
.&mt('There are no records to display.') |
.'</p>' |
.'</p>' |
); |
); |
$r->print($form_footer); |
|
return; |
|
} |
} |
|
|
# Content to display, so create navigation and display table |
# Form Footer |
|
$r->print( |
|
'<input type="hidden" name="page" value="'.$curr{'page'}.'" />' |
|
.'<input type="hidden" name="action" value="changelogs" />' |
|
.'</form>'); |
|
return; |
|
} |
|
|
# Create Navigation: |
sub userlogdisplay_nav { |
# Navigation Script |
my ($formname,$curr,$more_records) = @_; |
my $nav_script = <<"ENDSCRIPT"; |
my ($nav_script,$nav_links); |
|
if (ref($curr) eq 'HASH') { |
|
# Create Navigation: |
|
# Navigation Script |
|
$nav_script = <<"ENDSCRIPT"; |
<script type="text/javascript"> |
<script type="text/javascript"> |
// <![CDATA[ |
// <![CDATA[ |
function chgPage(caller) { |
function chgPage(caller) { |
Line 5313 function chgPage(caller) {
|
Line 5343 function chgPage(caller) {
|
if (caller == 'next') { |
if (caller == 'next') { |
document.$formname.page.value ++; |
document.$formname.page.value ++; |
} |
} |
document.$formname.submit(); |
document.$formname.submit(); |
return; |
return; |
} |
} |
// ]]> |
// ]]> |
</script> |
</script> |
ENDSCRIPT |
ENDSCRIPT |
# Navigation Buttons |
# Navigation Buttons |
my $nav_links; |
$nav_links = '<p>'; |
$nav_links = '<p>'; |
if (($curr->{'page'} > 1) || ($more_records)) { |
if (($curr{'page'} > 1) || ($more_records)) { |
if ($curr->{'page'} > 1) { |
if ($curr{'page'} > 1) { |
$nav_links .= '<input type="button"' |
$nav_links .= '<input type="button"' |
.' onclick="javascript:chgPage('."'previous'".');"' |
.' onclick="javascript:chgPage('."'previous'".');"' |
.' value="'.&mt('Previous [_1] changes',$curr->{'show'}) |
.' value="'.&mt('Previous [_1] changes',$curr{'show'}) |
.'" /> '; |
.'" /> '; |
} |
} |
if ($more_records) { |
if ($more_records) { |
$nav_links .= '<input type="button"' |
$nav_links .= '<input type="button"' |
.' onclick="javascript:chgPage('."'next'".');"' |
.' onclick="javascript:chgPage('."'next'".');"' |
.' value="'.&mt('Next [_1] changes',$curr->{'show'}) |
.' value="'.&mt('Next [_1] changes',$curr{'show'}) |
.'" />'; |
.'" />'; |
} |
} |
} |
|
$nav_links .= '</p>'; |
} |
} |
$nav_links .= '</p>'; |
return ($nav_script,$nav_links); |
|
|
# Table Header |
|
my $tableheader = |
|
&Apache::loncommon::start_data_table_header_row() |
|
.'<th> </th>' |
|
.'<th>'.&mt('When').'</th>' |
|
.'<th>'.&mt('Who made the change').'</th>' |
|
.'<th>'.&mt('Changed User').'</th>' |
|
.'<th>'.&mt('Role').'</th>' |
|
.'<th>'.&mt('Section').'</th>' |
|
.'<th>'.&mt('Context').'</th>' |
|
.'<th>'.&mt('Start').'</th>' |
|
.'<th>'.&mt('End').'</th>' |
|
.&Apache::loncommon::end_data_table_header_row(); |
|
|
|
# Print Content |
|
$r->print( |
|
$nav_script |
|
.$nav_links |
|
.&Apache::loncommon::start_data_table() |
|
.$tableheader |
|
.$content |
|
.&Apache::loncommon::end_data_table() |
|
.$nav_links |
|
.$form_footer |
|
); |
|
return; |
|
} |
} |
|
|
sub role_display_filter { |
sub role_display_filter { |