--- loncom/interface/lonquickgrades.pm 2021/07/19 15:48:26 1.121 +++ loncom/interface/lonquickgrades.pm 2022/10/19 18:09:04 1.124 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.121 2021/07/19 15:48:26 raeburn Exp $ +# $Id: lonquickgrades.pm,v 1.124 2022/10/19 18:09:04 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -86,8 +86,9 @@ sub real_handler { if ($env{'request.course.id'}) { my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $clientip = &Apache::lonnet::get_requestor_ip($r); my ($blocked,$blocktext) = - &Apache::loncommon::blocking_status('grades',$cnum,$cdom); + &Apache::loncommon::blocking_status('grades',$clientip,$cnum,$cdom); if ($blocked) { my $checkrole = "cm./$cdom/$cnum"; if ($env{'request.course.sec'} ne '') { @@ -119,10 +120,14 @@ sub real_handler { $r->send_http_header; $r->print(&Apache::loncommon::check_release_result(@reinit)); return OK; - } elsif ($reinitresult eq 'update') { - my $cid = $env{'request.course.id'}; - my $cnum = $env{'course.'.$cid.'.num'}; - my $cdom = $env{'course.'.$cid.'.domain'}; + } + 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')) { &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; &startpage($r,$showPoints); @@ -160,9 +165,19 @@ ENDCLOSE $r->header_out(Location => $furl); return REDIRECT; } + if (($reinitresult eq 'supp') || ($reinitresult eq 'both')) { + my $possdel; + if ($reinitresult eq 'supp') { + $possdel = 1; + } + my ($supplemental,$refs_updated) = &Apache::lonnet::get_supplemental($cnum,$cdom,'',$possdel); + unless ($refs_updated) { + &Apache::loncommon::set_supp_httprefs($cnum,$cdom,$supplemental); + } + } } - unless ($reinitresult eq 'update') { + unless (($reinitresult eq 'main') || ($reinitresult eq 'both')) { # Send header, don't cache this page &Apache::loncommon::no_cache($r); $r->send_http_header;