Diff for /loncom/interface/lonstatistics.pm between versions 1.67 and 1.70

version 1.67, 2003/04/21 15:12:37 version 1.70, 2003/05/13 14:30:26
Line 230  sub PrepareClasslist { Line 230  sub PrepareClasslist {
         }          }
     }      }
     #      #
       # Deal with instructors with restricted section access
       if ($ENV{'request.course.sec'} !~ /^\s*$/) {
           @SelectedSections = ($ENV{'request.course.sec'});
       }
       #
     # Set up %StudentData      # Set up %StudentData
     @StudentDataOrder = qw/fullname username domain id section status/;      @StudentDataOrder = qw/fullname username domain id section status/;
     foreach my $field (@StudentDataOrder) {      foreach my $field (@StudentDataOrder) {
Line 238  sub PrepareClasslist { Line 243  sub PrepareClasslist {
         $StudentData{$field}->{'width'} =           $StudentData{$field}->{'width'} = 
                                $StudentData{$field}->{'base_width'};                                 $StudentData{$field}->{'base_width'};
     }      }
       #
       # get the status requested
       my $requested_status = 'Active';
       $requested_status = $ENV{'form.Status'} if (exists($ENV{'form.Status'}));
     #      #
     # Process the classlist      # Process the classlist
     while (my ($student,$student_data) = each (%$classlist)) {      while (my ($student,$student_data) = each (%$classlist)) {
Line 266  sub PrepareClasslist { Line 274  sub PrepareClasslist {
         #          #
         # Only put in the list those students we are interested in          # Only put in the list those students we are interested in
         foreach my $sect (@SelectedSections) {          foreach my $sect (@SelectedSections) {
             if (($sect eq 'all') || ($section eq $sect)) {              if ( (($sect eq 'all') || 
                     ($section eq $sect)) &&
                    (($studenthash->{'status'} eq $requested_status) || 
                     ($requested_status eq 'Any')) 
                    ){
                 push (@Students,$studenthash);                  push (@Students,$studenthash);
                 last;                  last;
             }              }
Line 274  sub PrepareClasslist { Line 286  sub PrepareClasslist {
     }      }
     #      #
     # Put the consolidated section data in the right place      # Put the consolidated section data in the right place
     @Sections = sort {$a cmp $b} keys(%Sections);      if ($ENV{'request.course.sec'} !~ /^\s*$/) {
     unshift(@Sections,'all'); # Put 'all' at the front of the list          @Sections = ($ENV{'request.course.sec'});
       } else {
           @Sections = sort {$a cmp $b} keys(%Sections);
           unshift(@Sections,'all'); # Put 'all' at the front of the list
       }
     #      #
     # Sort the Students      # Sort the Students
     my $sortby = 'fullname';      my $sortby = 'fullname';
Line 834  sub CreateMainMenu { Line 850  sub CreateMainMenu {
     $Str .= '<td></td>'."\n";      $Str .= '<td></td>'."\n";
     $Str .= '<td></td>'."\n";      $Str .= '<td></td>'."\n";
     $Str .= '<td align="center"><b>Select a Report</b></td>'."\n";      $Str .= '<td align="center"><b>Select a Report</b></td>'."\n";
     $Str .= '<td align="center"><b>Student Status</b></td></tr>'."\n";  
     $Str .= '<tr>'."\n";      $Str .= '<tr>'."\n";
     #      #
     $Str .= '<td align="center">'.      $Str .= '<td align="center">'.
Line 855  sub CreateMainMenu { Line 870  sub CreateMainMenu {
     }      }
     $Str .= '</select></td>'."\n";      $Str .= '</select></td>'."\n";
     #      #
     $Str .= '<td align="center">';  
     $Str .= &Apache::lonhtmlcommon::StatusOptions($status, 'Statistics');  
     $Str .= '</td>'."\n";  
     #  
     $Str .= '</tr></tbody></table>'."\n";      $Str .= '</tr></tbody></table>'."\n";
     $Str .= '<hr>'."\n";      $Str .= '<hr>'."\n";
     #      #
Line 880  sub handler { Line 891  sub handler {
     if ($loaderror) { return $loaderror; }      if ($loaderror) { return $loaderror; }
     #      #
     # Check for access      # Check for access
     unless(&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) {      if (! &Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) {
         $ENV{'user.error.msg'}=          $ENV{'user.error.msg'}=
         $r->uri.":vgr:0:0:Cannot view grades for complete course";              $r->uri.":vgr:0:0:Cannot view grades for complete course";
         return HTTP_NOT_ACCEPTABLE;          if (! &Apache::lonnet::allowed('vgr',
                         $ENV{'request.course.id'}.'/'.$ENV{'request.course.sec'})) {
               $ENV{'user.error.msg'}=
                   $r->uri.":vgr:0:0:Cannot view grades with given role";
               return HTTP_NOT_ACCEPTABLE;
           }
     }      }
     #      #
     # Set document type for header only      # Set document type for header only

Removed from v.1.67  
changed lines
  Added in v.1.70


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