[LON-CAPA-cvs] cvs: loncom /interface lonnavmaps.pm lonquickgrades.pm
bowersj2
lon-capa-cvs@mail.lon-capa.org
Fri, 15 Nov 2002 19:32:10 -0000
bowersj2 Fri Nov 15 14:32:10 2002 EDT
Modified files:
/loncom/interface lonnavmaps.pm lonquickgrades.pm
Log:
/adm/quickgrades is now functional, albiet minimal. A couple of changes
to lonnavmaps to accomodate reading more values from the return hash.
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.108 loncom/interface/lonnavmaps.pm:1.109
--- loncom/interface/lonnavmaps.pm:1.108 Fri Nov 15 13:10:22 2002
+++ loncom/interface/lonnavmaps.pm Fri Nov 15 14:32:09 2002
@@ -2,7 +2,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.108 2002/11/15 18:10:22 bowersj2 Exp $
+# $Id: lonnavmaps.pm,v 1.109 2002/11/15 19:32:09 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -526,7 +526,6 @@
}
$r->print(" ${newBranchText}${linkopen}$icon${linkclose}\n");
- #$r->print($curRes->awarded($part));
my $curMarkerBegin = "";
my $curMarkerEnd = "";
@@ -2040,8 +2039,8 @@
(my $self, my $part) = @_;
return $self->parmval("type", $part);
}
-sub weight {
- (my $self, my $part) = @_;
+sub weight {
+ my $self = shift; my $part = shift;
return $self->parmval("weight", $part);
}
Index: loncom/interface/lonquickgrades.pm
diff -u loncom/interface/lonquickgrades.pm:1.1 loncom/interface/lonquickgrades.pm:1.2
--- loncom/interface/lonquickgrades.pm:1.1 Thu Nov 14 16:36:23 2002
+++ loncom/interface/lonquickgrades.pm Fri Nov 15 14:32:09 2002
@@ -60,7 +60,7 @@
# 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 @@
}
# 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(<<TABLETOP);
+<table border="1" cellpadding="3" cellspacing="0">
+ <tr>
+ <td align="center"><b>Problem</b></td>
+ <td align="center"><b>Score</b></td>
+ </tr>
+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,11 +98,37 @@
if (ref($curRes) && $curRes->is_problem()) {
my $title = $curRes->compTitle();
- $r->print($title . '<br />' . "\n");
+ $r->print(' <tr>');
+ 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("<td><a href=\"$link\">$title</td>");
+
+ 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("<td align=\"right\">$score / $avail</td></tr>\n");
+ $totalAvailable += $avail;
+ $total += $score;
}
$curRes = $iterator->next();
}
+
+ $r->print("<td colspan=\"2\" align=\"right\">Total Points Scored: <b>$total</b>");
+ $r->print("<br />Total Points Available: <b>$totalAvailable</b>");
+ $r->print("</td></tr></table>\n\n");
$r->print("</body></html>");