--- loncom/interface/lonquickgrades.pm 2002/11/14 21:36:23 1.1 +++ loncom/interface/lonquickgrades.pm 2002/11/15 19:32:09 1.2 @@ -60,7 +60,7 @@ sub handler { # Create the nav map my $navmap = Apache::lonnavmaps::navmap->new( $ENV{"request.course.fn"}.".db", - $ENV{"request.course.fn"}."_parms.db", 0, 0); + $ENV{"request.course.fn"}."_parms.db", 1, 0); if (!defined($navmap)) { my $requrl = $r->uri; @@ -69,15 +69,28 @@ sub handler { } # Header - $r->print(&Apache::loncommon::bodytag('Navigate Course Map','', + $r->print(&Apache::loncommon::bodytag('Quick Score Display','', '')); + $navmap->init(); + # End navmap using boilerplate + # Col labels + $r->print(< + + Problem + Score + +TABLETOP + my $iterator = $navmap->getIterator(undef, undef, undef, 1); my $depth = 1; $iterator->next(); # ignore first BEGIN_MAP my $curRes = $iterator->next(); + my $totalAvailable = 0; + my $total = 0; while ( $depth > 0 ) { if ($curRes == $iterator->BEGIN_MAP()) {$depth++;} @@ -85,12 +98,38 @@ sub handler { if (ref($curRes) && $curRes->is_problem()) { my $title = $curRes->compTitle(); - $r->print($title . '
' . "\n"); + $r->print(' '); + my $stack = $iterator->getStack(); + my $src = Apache::lonnavmaps::getLinkForResource($stack); + my $srcHasQuestion = $src =~ /\?/; + my $link = $src. + ($srcHasQuestion?'&':'?') . + 'symb='.&Apache::lonnet::escape($curRes->symb()). + '"'; + $r->print("$title"); + + my $avail = 0; + my $score = 0; + my $parts = $curRes->parts(); + for my $part (@{$parts}) { + my $partAvail = $curRes->weight($part); + my $partScore = $curRes->awarded($part) * $partAvail; + $avail += $partAvail; + $score += $partScore; + } + + $r->print("$score / $avail\n"); + $totalAvailable += $avail; + $total += $score; } $curRes = $iterator->next(); } + $r->print("Total Points Scored: $total"); + $r->print("
Total Points Available: $totalAvailable"); + $r->print("\n\n"); + $r->print(""); return OK;