--- loncom/interface/lonquickgrades.pm 2003/09/23 22:42:26 1.22.2.2 +++ loncom/interface/lonquickgrades.pm 2003/09/22 21:05:15 1.27 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Quick Student Grades Display # -# +# $Id: lonquickgrades.pm,v 1.27 2003/09/22 21:05:15 bowersj2 Exp $ # # Copyright Michigan State University Board of Trustees # @@ -32,6 +32,8 @@ package Apache::lonquickgrades; use strict; use Apache::Constants qw(:common :http); use POSIX; +use Apache::loncommon; +use Apache::lonlocal; sub handler { my $r = shift; @@ -46,9 +48,9 @@ sub real_handler { # Handle header-only request if ($r->header_only) { if ($ENV{'browser.mathml'}) { - $r->content_type('text/xml'); + &Apache::loncommon::content_type($r,'text/xml'); } else { - $r->content_type('text/html'); + &Apache::loncommon::content_type($r,'text/html'); } $r->send_http_header; return OK; @@ -56,9 +58,9 @@ sub real_handler { # Send header, don't cache this page if ($ENV{'browser.mathml'}) { - $r->content_type('text/xml'); + &Apache::loncommon::content_type($r, 'text/xml'); } else { - $r->content_type('text/html'); + &Apache::loncommon::content_type($r, 'text/html'); } &Apache::loncommon::no_cache($r); $r->send_http_header; @@ -67,9 +69,7 @@ sub real_handler { $ENV{'course.'.$ENV{'request.course.id'}.'.grading'} eq 'standard'; # Create the nav map - my $navmap = Apache::lonnavmaps::navmap->new( - $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 1, 0, 1); + my $navmap = Apache::lonnavmaps::navmap->new(); if (!defined($navmap)) { my $requrl = $r->uri; @@ -97,8 +97,6 @@ HEADER $r->rflush(); - $navmap->init(); - # End navmap using boilerplate my $iterator = $navmap->getIterator(undef, undef, undef, 1); @@ -136,23 +134,11 @@ HEADER my $stack = $iterator->getStack(); for my $part (@{$parts}) { - my $completionStatus = $curRes->getCompletionStatus($part); - my $dateStatus = $curRes->getDateStatus($part); - if ($completionStatus == $curRes->EXCUSED()) { + if ($curRes->getCompletionStatus($part) == $curRes->EXCUSED()) { next; } if ($showPoints) { - my $score; - # If we're not telling status and the answer date isn't - # passed yet - if (($curRes->problemstatus($part) eq 'no') && - ($dateStatus != $curRes->ANSWER_OPEN)) { - $score = 0; - } else { - $score = $curRes->weight($part) * - $curRes->awarded($part); - } - + my $score = $curRes->weight($part) * $curRes->awarded($part); $partsRight += $score; $totalRight += $score; $partsCount += $curRes->weight($part); @@ -162,16 +148,18 @@ HEADER } $totalParts += $curRes->weight($part); } else { - my $status = $curRes->status($part); + my $status = $curRes->simpleStatus($part); my $thisright = 0; $partsCount++; if ($status == $curRes->CORRECT || - $status == $curRes->EXCUSED) { + $status == $curRes->INCORRECT || + $status == $curRes->ATTEMPTED) { $partsRight++; $totalRight++; $thisright = 1; } + my $dateStatus = $curRes->getDateStatus($part); $totalParts++; if ($curRes->opendate($part) < $now) { $totalPossible++; @@ -212,7 +200,7 @@ HEADER # Second pass: Print the maps. $r->print(''); - $title = $showPoints ? "Points Scored" : "Done"; + $title =&mt($showPoints ? "Points Scored" : "Done"); $r->print("" . "\n\n"); while ($depth > 0) { if ($curRes == $iterator->BEGIN_MAP()) {$depth++;} @@ -246,7 +234,7 @@ HEADER my $ratio = $topLevelRight / $topLevelParts; my $color = mixColors(\@start, \@end, $ratio); $r->print(""); } @@ -255,9 +243,9 @@ HEADER $title = $showPoints ? "Points" : "Parts Done"; $r->print("\n\n"); + $r->print(&mt("Total $title In Course").": $totalParts\n\n"); $r->print("
Folder$title / Total
"); - $r->print("Problems Not Contained In A Folder"); + $r->print(&mt("Problems Not Contained In A Folder").""); $r->print("$topLevelRight / $topLevelParts
Total $title: $totalRight
"); - $r->print("Max Possible To Date $maxHelpLink: $totalPossible
"); + $r->print(&mt("Max Possible To Date")." $maxHelpLink: $totalPossible
"); $title = $showPoints ? "Points" : "Parts"; - $r->print("Total $title In Course: $totalParts
");