--- loncom/interface/lonnavmaps.pm 2002/03/15 16:31:10 1.28
+++ loncom/interface/lonnavmaps.pm 2002/03/15 21:40:27 1.29
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Navigate Maps Handler
#
-# $Id: lonnavmaps.pm,v 1.28 2002/03/15 16:31:10 albertel Exp $
+# $Id: lonnavmaps.pm,v 1.29 2002/03/15 21:40:27 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -178,10 +178,11 @@ sub parmval {
# 1: not attempted
# 2: attempted but wrong, or incorrect by instructor
# 3: solved or correct by instructor
-# "excused" needs to be supported, but is not yet. Could be code=4.
+# 4: partially correct (one or more parts correct)
+# "excused" needs to be supported, but is not yet.
sub astatus {
my $rid=shift;
- my $code=1;
+ my $code=0;
my $ctext='';
$rid=~/(\d+)\.(\d+)/;
my $symb=&Apache::lonnet::declutter($hash{'map_id_'.$1}).'___'.$2.'___'.
@@ -238,13 +239,14 @@ sub astatus {
my $status=$returnhash{'resource.'.$_.'.solved'};
if ($status eq 'correct_by_student') {
- unless ($code==2) { $code=3; }
+ if ($code==0) { $code=3; } else { $code=4; }
$ctext.=' solved';
} elsif ($status eq 'correct_by_override') {
- unless ($code==2) { $code=3; }
+ if ($code==0) { $code=3; } else { $code=4; }
$ctext.=' override';
} elsif ($status eq 'incorrect_attempted') {
- $code=2;
+ if ($code!=4 && $code!=3) { $code=2; }
+ if ($code==3) { $code=4; }
$ctext.=' ('.
($returnhash{'resource.'.$_.'.tries'}?
$returnhash{'resource.'.$_.'.tries'}:'0');
@@ -252,11 +254,14 @@ sub astatus {
if ($numtries) { $ctext.='/'.$numtries.' tries'; }
$ctext.=')';
} elsif ($status eq 'incorrect_by_override') {
- $code=2;
+ if ($code!=4 && $code!=3) { $code=2; }
+ if ($code==3) { $code=4; }
$ctext.=' override';
} elsif ($status eq 'excused') {
- unless ($code==2) { $code=3; }
+ if ($code==0) { $code=3; } else { $code=4; }
$ctext.=' excused';
+ } else {
+ if ($code==0) { $code=1; }
}
}
@@ -277,6 +282,8 @@ sub tracetable {
if ($hash{'map_type_'.$hash{'map_pc_'.$hash{'src_'.$rid}}}
eq 'sequence') {
$tprefix='h';
+ } else {
+ # it's a page we need to grab out the problems only
}
if (defined($rows[$sofar])) {
$rows[$sofar].='&'.$tprefix.$rid;
@@ -619,6 +626,10 @@ sub handler {
$hwk='';
$hwke=' ('.$ctext.')';
}
+ if ($code eq '4') {
+ $hwk='';
+ $hwke=' ('.$ctext.')';
+ }
}
if ($hash{'src_'.$rid} eq $currenturl) {
$add=$add.''.