--- loncom/interface/lonquickgrades.pm 2002/12/06 19:29:28 1.9
+++ loncom/interface/lonquickgrades.pm 2007/12/20 10:18:19 1.41
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Quick Student Grades Display
#
-#
+# $Id: lonquickgrades.pm,v 1.41 2007/12/20 10:18:19 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -32,6 +32,10 @@ package Apache::lonquickgrades;
use strict;
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;
@@ -44,57 +48,53 @@ 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'}) {
- $r->content_type('text/xml');
- } else {
- $r->content_type('text/html');
- }
- $r->send_http_header;
+ $r->send_http_header;
return OK;
}
# Send header, don't cache this page
- if ($ENV{'browser.mathml'}) {
- $r->content_type('text/xml');
- } else {
- $r->content_type('text/html');
- }
&Apache::loncommon::no_cache($r);
$r->send_http_header;
+ my $showPoints =
+ $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'standard';
+ my $notshowSPRSlink =
+ $env{'course.'.$env{'request.course.id'}.'.grading'} eq 'external';
+
# Create the nav map
- my $navmap = Apache::lonnavmaps::navmap->new(
- $ENV{"request.course.fn"}.".db",
- $ENV{"request.course.fn"}."_parms.db", 1, 0);
+ 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;
}
# Keep this hash in sync with %statusIconMap in lonnavmaps; they
# should match color/icon
my $res = $navmap->firstResource(); # temp resource to access constants
-
- if (!defined($navmap)) {
- my $requrl = $r->uri;
- $ENV{'user.error.msg'} = "$requrl:bre:0:0:Course not initialized";
- return HTTP_NOT_ACCEPTABLE;
- }
# Header
- $r->print(&Apache::loncommon::bodytag('Quick Score Display','',
- ''));
+ my $title = $showPoints ? "Points Display" : "Completed Problems Display";
+ $r->print(&Apache::loncommon::start_page($title));
- $r->print(<
Sequence | '); - $r->print('Correct / Total | |||||||||
' . + &mt('Folder') . ' | '); + $title = &mt($showPoints ? "Points Scored" : "Done"); + if ($totalAttempted) { + $title .= " / " . &mt("Attempted"); + } + $r->print("$title / " + . &mt('Total') . " |
"); - for (my $i = 1; $i < $depth; $i++) { $r->print($indentString); } + my $thisIndent = ''; + for (my $i = 1; $i < $depth; $i++) { $thisIndent .= $indentString; } - $r->print("$title | "); - $r->print("$correct / $total | $thisIndent | \n");
+ } else {
+ $r->print("$thisIndent | \n");
+ }
}
}
@@ -211,24 +263,26 @@ HEADER
}
# If there were any problems at the top level, print an extra "catchall"
- if ($unaccountedTotal > 0) {
- my $ratio = $unaccountedCorrect / $unaccountedTotal;
+ if ($topLevelParts > 0) {
+ my $ratio = $topLevelRight / $topLevelParts;
my $color = mixColors(\@start, \@end, $ratio);
$r->print("
"); - $r->print("Problems Not Contained In Sequences | "); - $r->print("$unaccountedCorrect / $unaccountedTotal | "); + $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"); - $r->print("
Total Parts Correct: $totalRight "); - $r->print("Max Possible To Date $maxHelpLink: $totalPossible "); - $r->print("Total Parts In Course: $totalParts |