--- loncom/interface/lonquickgrades.pm 2003/11/21 18:21:02 1.30 +++ loncom/interface/lonquickgrades.pm 2006/03/15 22:11:04 1.40 @@ -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.40 2006/03/15 22:11:04 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -34,6 +34,8 @@ use Apache::Constants qw(:common :http); use POSIX; use Apache::loncommon; use Apache::lonlocal; +use Apache::lonnet; +use Apache::grades; sub handler { my $r = shift; @@ -46,36 +48,31 @@ sub real_handler { &Apache::loncommon::get_unprocessed_cgi($ENV{QUERY_STRING}); # Handle header-only request + if ($env{'browser.mathml'}) { + &Apache::loncommon::content_type($r,'text/xml'); + } else { + &Apache::loncommon::content_type($r,'text/html'); + } if ($r->header_only) { - if ($ENV{'browser.mathml'}) { - &Apache::loncommon::content_type($r,'text/xml'); - } else { - &Apache::loncommon::content_type($r,'text/html'); - } - $r->send_http_header; + $r->send_http_header; return OK; } # Send header, don't cache this page - if ($ENV{'browser.mathml'}) { - &Apache::loncommon::content_type($r, 'text/xml'); - } else { - &Apache::loncommon::content_type($r, 'text/html'); - } &Apache::loncommon::no_cache($r); $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; } @@ -85,7 +82,7 @@ sub real_handler { # Header my $title = $showPoints ? "Points Display" : "Completed Problems Display"; - $r->print(&Apache::loncommon::bodytag($title, '', '')); + $r->print(&Apache::loncommon::start_page($title)); if (!$showPoints && !$notshowSPRSlink ) { $r->print(<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); + $score = &Apache::grades::compute_points($curRes->weight($part), $curRes->awarded($part)); } $partsRight += $score; $totalRight += $score; @@ -167,8 +167,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,19 +271,18 @@ HEADER $r->print("$topLevelRight / $topLevelParts"); } - my $maxHelpLink = Apache::loncommon::help_open_topic("Quick_Grades_Possibly_Correct"); + 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(""); + $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"); + } - $navmap->untieHashes(); + $r->print("".&Apache::loncommon::end_page()); return OK; }