[LON-CAPA-cvs] cvs: loncom /interface lonnavmaps.pm

albertel lon-capa-cvs@mail.lon-capa.org
Fri, 15 Mar 2002 21:40:27 -0000


albertel		Fri Mar 15 16:40:27 2002 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm 
  Log:
  - notes when a problem is partially correct now (some parts right some wrong)
  
  
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.28 loncom/interface/lonnavmaps.pm:1.29
--- loncom/interface/lonnavmaps.pm:1.28	Fri Mar 15 11:31:10 2002
+++ loncom/interface/lonnavmaps.pm	Fri Mar 15 16:40:27 2002
@@ -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 @@
 # 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 @@
 	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 @@
 	    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 @@
 	    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;
@@ -616,6 +623,10 @@
 				$hwke='</b> ('.$ctext.')</font>';
 			    }
 			    if ($code eq '3') {
+				$hwk='<font color="#229922"><b>';
+				$hwke='</b> ('.$ctext.')</font>';
+			    }
+			    if ($code eq '4') {
 				$hwk='<font color="#229922"><b>';
 				$hwke='</b> ('.$ctext.')</font>';
 			    }