Diff for /loncom/interface/lonquickgrades.pm between versions 1.113 and 1.117

version 1.113, 2017/12/31 15:49:03 version 1.117, 2020/08/10 19:28:21
Line 83  sub real_handler { Line 83  sub real_handler {
   
     my $reinitresult;      my $reinitresult;
   
       if ($env{'request.course.id'}) {
           my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
           my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
           my ($blocked,$blocktext) =
               &Apache::loncommon::blocking_status('grades',$cnum,$cdom);
           if ($blocked) {
               my $checkrole = "cm./$cdom/$cnum";
               if ($env{'request.course.sec'} ne '') {
                   $checkrole .= "/$env{'request.course.sec'}";
               }
               unless ((&Apache::lonnet::allowed('evb',undef,undef,$checkrole)) &&
                       ($env{'request.role'} !~ m{^st\./$cdom/$cnum})) {
                   &grades_blocked($r,$blocktext,$showPoints);
                   return OK;
               }
           }
       }
   
     unless ($cangrade) {      unless ($cangrade) {
         # Check for critical messages and redirect if present.          # Check for critical messages and redirect if present.
         my ($redirect,$url) = &Apache::loncommon::critical_redirect(300,'grades');          my ($redirect,$url) = &Apache::loncommon::critical_redirect(300,'grades');
Line 243  ENDCLOSE Line 261  ENDCLOSE
   
 }  }
   
   sub grades_blocked {
       my ($r,$blocktext,$caller) = @_;
       my $title = 'Points Display';
       if ($caller eq 'spreadsheet') {
           $title = 'Spreadsheet';
       } elsif ($env{'course.'.$env{'request.course.id'}.'.grading'} ne 'standard') {
           $title = 'Completed Problems Display';
       }
       my $brcrum = [{href=>"/adm/quickgrades",text => $title}];
       &Apache::lonhtmlcommon::clear_breadcrumbs();
       &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/quickgrades',
                                               text=> $title});
       my $breadcrumbs = &Apache::lonhtmlcommon::breadcrumbs($title);
       &Apache::loncommon::content_type($r,'text/html');
       &Apache::loncommon::no_cache($r);
       $r->send_http_header;
       $r->print(&Apache::loncommon::start_page($title).
                 $breadcrumbs.
                 $blocktext.
                 &Apache::loncommon::end_page());
       return;
   }
   
 sub getStudentCatGrade {  sub getStudentCatGrade {
     my ($uname,$udom,%categories)=@_;      my ($uname,$udom,%categories)=@_;
     my ($navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted)=      my ($navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts,$topLevelRight,$topLevelAttempted)=
Line 293  sub startGradeScreen { Line 334  sub startGradeScreen {
         $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals';          $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals';
     my $showCategories=      my $showCategories=
         $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'categories';          $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'categories';
    
       my $allowed_to_view = &Apache::lonnet::allowed('vgr',$env{'request.course.id'});
       if ((!$allowed_to_view) && ($env{'request.course.sec'} ne '')) {
           $allowed_to_view = &Apache::lonnet::allowed('vgr',
                                  "$env{'request.course.id'}/$env{'request.course.sec'}");
       }
   
     my $allowed_to_view =  &Apache::lonnet::allowed('vgr',$env{'request.course.id'});      my $allowed_to_edit = &Apache::lonnet::allowed('mgr',$env{'request.course.id'});
     my $allowed_to_edit =  &Apache::lonnet::allowed('mgr',$env{'request.course.id'});      if ((!$allowed_to_edit) && ($env{'request.course.sec'} ne '')) {
           $allowed_to_edit = &Apache::lonnet::allowed('mgr',
                                  "$env{'request.course.id'}/$env{'request.course.sec'}");
       }
   
     if ($allowed_to_view) {      if ($allowed_to_view) {
        my @notes;         my @notes;
Line 444  sub getData { Line 494  sub getData {
         if ($curRes == $iterator->BEGIN_MAP()) {$depth++;}          if ($curRes == $iterator->BEGIN_MAP()) {$depth++;}
         if ($curRes == $iterator->END_MAP()) { $depth--; }          if ($curRes == $iterator->END_MAP()) { $depth--; }
   
         if (ref($curRes) && $curRes->is_gradable() && !$curRes->randomout)          if (ref($curRes) && $curRes->is_gradable() && !$curRes->randomout && 
               ($curRes->deeplink ne 'absent'))
         {          {
             # Get number of correct, incorrect parts              # Get number of correct, incorrect parts
             my $parts = $curRes->parts();              my $parts = $curRes->parts();

Removed from v.1.113  
changed lines
  Added in v.1.117


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