Diff for /loncom/interface/loncreateuser.pm between versions 1.326 and 1.327

version 1.326, 2009/11/18 20:01:36 version 1.327, 2009/11/18 21:24:40
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>&nbsp;</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>&nbsp;</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 {

Removed from v.1.326  
changed lines
  Added in v.1.327


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>