--- loncom/interface/lonquickgrades.pm 2025/01/16 21:11:56 1.49.6.8.2.6 +++ loncom/interface/lonquickgrades.pm 2024/07/03 18:51:56 1.49.6.9 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.49.6.8.2.6 2025/01/16 21:11:56 raeburn Exp $ +# $Id: lonquickgrades.pm,v 1.49.6.9 2024/07/03 18:51:56 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -85,7 +85,7 @@ sub real_handler { unless ($cangrade) { # 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); if ($redirect) { &Apache::loncommon::content_type($r,'text/html'); $r->header_out(Location => $url); @@ -101,14 +101,10 @@ sub real_handler { $r->send_http_header; $r->print(&Apache::loncommon::check_release_result(@reinit)); return OK; - } - my ($cid,$cnum,$cdom); - if ($reinitresult) { - $cid = $env{'request.course.id'}; - $cnum = $env{'course.'.$cid.'.num'}; - $cdom = $env{'course.'.$cid.'.domain'}; - } - if (($reinitresult eq 'main') || ($reinitresult eq 'both')) { + } elsif ($reinitresult eq 'update') { + my $cid = $env{'request.course.id'}; + my $cnum = $env{'course.'.$cid.'.num'}; + my $cdom = $env{'course.'.$cid.'.domain'}; &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; &startpage($r,$showPoints); @@ -140,19 +136,9 @@ ENDCLOSE $r->print($closure); } } - if (($reinitresult eq 'supp') || ($reinitresult eq 'both')) { - my $possdel; - if ($reinitresult eq 'supp') { - $possdel = 1; - } - my ($supplemental,$refs_updated) = &Apache::loncommon::get_supplemental($cnum,$cdom,'',$possdel); - unless ($refs_updated) { - &Apache::loncommon::set_supp_httprefs($cnum,$cdom,$supplemental); - } - } } - unless (($reinitresult eq 'main') || ($reinitresult eq 'both')) { + unless ($reinitresult eq 'update') { # Send header, don't cache this page &Apache::loncommon::no_cache($r); $r->send_http_header; @@ -203,19 +189,8 @@ ENDCLOSE my $notshowTotals= $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'externalnototals'; - my $usec; - if ($cangrade) { - if (($uname eq $env{'user.name'}) && ($udom eq $env{'user.domain'})) { - $usec = $env{'request.course.sec'}; - } else { - $usec = &Apache::lonnet::getsection($udom,$uname,$env{'request.course.id'}); - } - } else { - $usec = $env{'request.course.sec'}; - } - my ($navmap,$totalParts,$totalPossible,$totalRight,$totalAttempted,$topLevelParts, - $topLevelRight,$topLevelAttempted) = &getData($showPoints,$uname,$udom,$usec); + $topLevelRight,$topLevelAttempted) = &getData($showPoints,$uname,$udom); if (ref($navmap)) { my $nostdtotals; @@ -225,6 +200,16 @@ ENDCLOSE if ($hidetotals eq 'all') { $nostdtotals = 1; } elsif ($hidetotals ne '') { + my $usec; + if ($cangrade) { + if (($uname eq $env{'user.name'}) && ($udom eq $env{'user.domain'})) { + $usec = $env{'request.course.sec'}; + } else { + $usec = &Apache::lonnet::getsection($udom,$uname,$env{'request.course.id'}); + } + } else { + $usec = $env{'request.course.sec'}; + } if ($usec ne '') { my %secnototals; map { $secnototals{$_} = 1; } split(/,/,$hidetotals); @@ -278,10 +263,10 @@ sub grades_blocked { sub getData { - my ($showPoints,$uname,$udom,$usec)=@_; + my ($showPoints,$uname,$udom)=@_; # Create the nav map - my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom,$usec); + my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom); if (!defined($navmap)) { return (); @@ -316,7 +301,7 @@ sub getData { if ($curRes == $iterator->BEGIN_MAP()) {$depth++;} if ($curRes == $iterator->END_MAP()) { $depth--; } - if (ref($curRes) && $curRes->is_gradable() && !$curRes->randomout) + if (ref($curRes) && $curRes->is_problem() && !$curRes->randomout) { # Get number of correct, incorrect parts my $parts = $curRes->parts();