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

albertel lon-capa-cvs-allow@mail.lon-capa.org
Wed, 23 May 2007 20:46:30 -0000


albertel		Wed May 23 16:46:30 2007 EDT

  Modified files:              
    /loncom/interface	lonnavmaps.pm 
  Log:
  - bug#5275, responses are handgradable, so when checking for handgrability check the responses, and pulll that value up to the part
  
  
Index: loncom/interface/lonnavmaps.pm
diff -u loncom/interface/lonnavmaps.pm:1.398 loncom/interface/lonnavmaps.pm:1.399
--- loncom/interface/lonnavmaps.pm:1.398	Fri Apr 27 13:59:50 2007
+++ loncom/interface/lonnavmaps.pm	Wed May 23 16:46:29 2007
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Navigate Maps Handler
 #
-# $Id: lonnavmaps.pm,v 1.398 2007/04/27 17:59:50 banghart Exp $
+# $Id: lonnavmaps.pm,v 1.399 2007/05/23 20:46:29 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2271,14 +2271,14 @@
 # the actual lookup; parmval caches the results.
 sub parmval {
     my $self = shift;
-    my ($what,$symb)=@_;
+    my ($what,$symb,$recurse)=@_;
     my $hashkey = $what."|||".$symb;
 
     if (defined($self->{PARM_CACHE}->{$hashkey})) {
         return $self->{PARM_CACHE}->{$hashkey};
     }
 
-    my $result = $self->parmval_real($what, $symb);
+    my $result = $self->parmval_real($what, $symb, $recurse);
     $self->{PARM_CACHE}->{$hashkey} = $result;
     return $result;
 }
@@ -2388,7 +2388,7 @@
 	if (defined($partgeneral)) { return $partgeneral; }
     }
     if ($recurse) { return undef; }
-    my $pack_def=&Apache::lonnet::packages_tab_default($fn,'resource.'.$what);
+    my $pack_def=&Apache::lonnet::packages_tab_default($fn,'resource.'.$rwhat);
     if (defined($pack_def)) { return $pack_def; }
     return '';
 }
@@ -3473,6 +3473,7 @@
     }
     return $title;
 }
+
 =pod
 
 B<Predicate Testing the Resource>
@@ -3781,6 +3782,15 @@
 }
 sub handgrade {
     (my $self, my $part) = @_;
+    my @response_ids = $self->responseIds($part);
+    if (@response_ids) {
+	foreach my $response_id (@response_ids) {
+	    if (lc($self->parmval("handgrade",$part.'_'.$response_id))
+		eq 'yes') {
+		return 'yes';
+	    }
+	}
+    }
     return $self->parmval("handgrade", $part);
 }
 sub maxtries {