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

albertel lon-capa-cvs@mail.lon-capa.org
Wed, 08 Mar 2006 21:56:52 -0000


albertel		Wed Mar  8 16:56:52 2006 EDT

  Modified files:              
    /loncom/homework	grades.pm 
  Log:
  - BUG#4539 PGRD was not properly handling form.counter and thus problem number display would be incorrect
  
  
  
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.328 loncom/homework/grades.pm:1.329
--- loncom/homework/grades.pm:1.328	Mon Mar  6 21:50:15 2006
+++ loncom/homework/grades.pm	Wed Mar  8 16:56:49 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # The LON-CAPA Grading handler
 #
-# $Id: grades.pm,v 1.328 2006/03/07 02:50:15 banghart Exp $
+# $Id: grades.pm,v 1.329 2006/03/08 21:56:49 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1497,6 +1497,7 @@
 sub show_problem {
     my ($request,$symb,$uname,$udom,$removeform,$viewon,$mode) = @_;
     my $rendered;
+    &Apache::lonxml::remember_problem_counter();
     if ($mode eq 'both' or $mode eq 'text') {
 	$rendered=&Apache::loncommon::get_student_view($symb,$uname,$udom,
 					     $env{'request.course.id'});
@@ -1508,6 +1509,7 @@
     }
     my $companswer;
     if ($mode eq 'both' or $mode eq 'answer') {
+	&Apache::lonxml::restore_problem_counter();
 	$companswer=&Apache::loncommon::get_student_answers($symb,$uname,$udom,
 						    $env{'request.course.id'});
     }
@@ -1594,6 +1596,7 @@
 	    } elsif ($env{'form.vAns'} eq 'yes') {
 		$mode='answer';
 	    }
+	    &Apache::lonxml::clear_problem_counter();
 	    $request->print(&show_problem($request,$symb,$uname,$udom,0,1,$mode));
 	}
 	
@@ -1692,6 +1695,7 @@
 	} elsif ($env{'form.vAns'} eq 'all') {
 	    $mode='answer';
 	}
+	&Apache::lonxml::clear_problem_counter();
 	$request->print(&show_problem($request,$symb,$uname,$udom,1,1,$mode));
     }
 
@@ -3755,6 +3759,7 @@
 	'<td align="center"><b>&nbsp;Prob.&nbsp;</b></td>'.
 	'<td><b>&nbsp;'.($env{'form.vProb'} eq 'no' ? 'Title' : 'Problem Text').'/Grade</b></td></tr>';
 
+    &Apache::lonxml::clear_problem_counter();
     my ($depth,$question,$prob) = (1,1,1);
     $iterator->next(); # skip the first BEGIN_MAP
     my $curRes = $iterator->next(); # for "current resource"