[LON-CAPA-cvs] cvs: loncom /homework grades.pm

banghart lon-capa-cvs@mail.lon-capa.org
Sun, 26 Feb 2006 02:55:12 -0000


banghart		Sat Feb 25 21:55:12 2006 EDT

  Modified files:              
    /loncom/homework	grades.pm 
  Log:
  	Saving work in progress.
  	New sub handbackBox, accommodates handing back commented files
  	from multiple response problems.
  
  
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.317 loncom/homework/grades.pm:1.318
--- loncom/homework/grades.pm:1.317	Sat Feb 25 20:04:47 2006
+++ loncom/homework/grades.pm	Sat Feb 25 21:55:11 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # The LON-CAPA Grading handler
 #
-# $Id: grades.pm,v 1.317 2006/02/26 01:04:47 banghart Exp $
+# $Id: grades.pm,v 1.318 2006/02/26 02:55:11 banghart Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1423,6 +1423,7 @@
     my $score  = ($$record{'resource.'.$partid.'.awarded'} eq '' ?
 		  '' : $$record{'resource.'.$partid.'.awarded'}*$wgt);
     my $result='<input type="hidden" name="WGT'.$counter.'_'.$partid.'" value="'.$wgt.'" />'."\n";
+    $result.='<br />'.$partid.' - '.$respid.'<br />';
     my $display_part=&get_display_part($partid,undef,$symb);
     my %last_resets = &get_last_resets($symb,$env{'request.course.id'},
 				       [$partid]);
@@ -1471,19 +1472,23 @@
         '<input type="hidden" name="aggtries'.$counter.'_'.$partid.'" value="'.
         $aggtries.'" />'."\n";
     $result.='</td></tr></table>'."\n";
-    my $files=&get_submitted_files($udom,$uname,$partid,$counter,$record);
+    $result.=&handbackBox($uname,$udom,$counter,$partid,$record,$respid);
+    return $result;
+}
+sub handbackBox {
+    my ($uname,$udom,$counter,$partid,$record,$respid) = @_;
+    my $files=&get_submitted_files($udom,$uname,$partid,$respid,$record);
+    my $result;
     if (@$files) {
         my $file_counter = 0;
 	foreach my $file (@$files) {
             $result.=' Return commented document to student. <input type="file" name="part'.$partid.'_returndoc';
             $result.=$file_counter.'" />'."\n";
-            $result.='<input type="hidden" name="respid" value="'.$counter.'" />';
-            $result.='<input type="hidden" name="returndocorig'.$file_counter.'" value="'.$file.'" />';
+            $result.='<input type="hidden" name="respid" value="'.$respid.'" />';
+            $result.='<input type="hidden" name="returndocorig'.$file_counter.'" value="'.$file.'" /><br />';
         }
     }
-
-    
-    return $result;
+    return $result;    
 }
 
 sub show_problem {
@@ -1911,7 +1916,11 @@
     my @gradePartRespid;
     for my $part_resp(sort keys(%$handgrade)) {
 	my ($partid,$respid) = split(/_/, $part_resp);
-	next if ($seen{$partid} > 0);
+	#next if ($seen{$partid} > 0);
+	if ($seen{$partid} > 0) {
+	    $request->print(&handbackBox($uname,$udom,$counter,$partid,\%record,$respid));
+	    next;
+	}
 	$seen{$partid}++;
 	next if ($$handgrade{$part_resp} =~ /:no$/ && $env{'form.lastSub'} =~ /^(hdgrade)$/);
 	push @partlist,$partid;