--- loncom/interface/lonquickgrades.pm 2003/11/21 18:21:02 1.30 +++ loncom/interface/lonquickgrades.pm 2005/12/20 15:02:13 1.37 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# $Id: lonquickgrades.pm,v 1.30 2003/11/21 18:21:02 albertel Exp $ +# $Id: lonquickgrades.pm,v 1.37 2005/12/20 15:02:13 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -34,6 +34,7 @@ use Apache::Constants qw(:common :http); use POSIX; use Apache::loncommon; use Apache::lonlocal; +use Apache::lonnet; sub handler { my $r = shift; @@ -47,7 +48,7 @@ sub real_handler { # Handle header-only request if ($r->header_only) { - if ($ENV{'browser.mathml'}) { + if ($env{'browser.mathml'}) { &Apache::loncommon::content_type($r,'text/xml'); } else { &Apache::loncommon::content_type($r,'text/html'); @@ -57,7 +58,7 @@ sub real_handler { } # Send header, don't cache this page - if ($ENV{'browser.mathml'}) { + if ($env{'browser.mathml'}) { &Apache::loncommon::content_type($r, 'text/xml'); } else { &Apache::loncommon::content_type($r, 'text/html'); @@ -66,16 +67,16 @@ sub real_handler { $r->send_http_header; my $showPoints = - $ENV{'course.'.$ENV{'request.course.id'}.'.grading'} eq 'standard'; + $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'standard'; my $notshowSPRSlink = - $ENV{'course.'.$ENV{'request.course.id'}.'.grading'} eq 'external'; + $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'external'; # Create the nav map my $navmap = Apache::lonnavmaps::navmap->new(); if (!defined($navmap)) { my $requrl = $r->uri; - $ENV{'user.error.msg'} = "$requrl:bre:0:0:Navamp initialization failed."; + $env{'user.error.msg'} = "$requrl:bre:0:0:Navamp initialization failed."; return HTTP_NOT_ACCEPTABLE; } @@ -150,8 +151,11 @@ HEADER # it's an "attempted" point if ($curRes->problemstatus($part) eq 'no' && ($dateStatus != $curRes->ANSWER_OPEN)) { - $partsAttempted += $curRes->weight($part); - $totalAttempted += $partsAttempted; + my $status = $curRes->simpleStatus($part); + if ($status == $curRes->ATTEMPTED) { + $partsAttempted += $curRes->weight($part); + $totalAttempted += $partsAttempted; + } } else { $score = $curRes->weight($part) * $curRes->awarded($part); } @@ -167,8 +171,8 @@ HEADER my $status = $curRes->simpleStatus($part); my $thisright = 0; $partsCount++; - if ($status == $curRes->CORRECT || - $status == $curRes->INCORRECT ) { + if ($status == $curRes->CORRECT || + $status == $curRes->PARTIALLY_CORRECT ) { $partsRight++; $totalRight++; $thisright = 1; @@ -271,20 +275,19 @@ HEADER $r->print("$topLevelRight / $topLevelParts"); } - my $maxHelpLink = Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct"); - - $title = $showPoints ? "Points" : "Parts Done"; - - $r->print("Total $title: $totalRight
"); - $r->print(&mt("Max Possible To Date")." $maxHelpLink: $totalPossible
"); - $title = $showPoints ? "Points" : "Parts"; - $r->print(&mt("Total $title In Course").": $totalParts\n\n"); + if ($showPoints) { + my $maxHelpLink = Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct"); + $title = $showPoints ? "Points" : "Parts Done"; + + $r->print("Total $title: $totalRight
"); + $r->print(&mt("Max Possible To Date")." $maxHelpLink: $totalPossible
"); + $title = $showPoints ? "Points" : "Parts"; + $r->print(&mt("Total $title In Course").": $totalParts\n\n"); + } $r->print(""); - $navmap->untieHashes(); - return OK; }