--- loncom/homework/grades.pm 2005/04/08 19:26:58 1.261 +++ loncom/homework/grades.pm 2005/04/08 20:12:58 1.262 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.261 2005/04/08 19:26:58 albertel Exp $ +# $Id: grades.pm,v 1.262 2005/04/08 20:12:58 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2109,7 +2109,7 @@ sub processHandGrade { #---- Save the score and award for each student, if changed sub saveHandGrade { my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter,$part) = @_; - my $v_flag=0; + my @v_flag; my $usec = &Apache::lonnet::getsection($domain,$stuname, $env{'request.course.id'}); if (!&canmodify($usec)) { return('not_allowed'); } @@ -2174,13 +2174,15 @@ sub saveHandGrade { } # unless problem has been graded, set flag to version the submitted files unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ || $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override') { - $v_flag = 1; + push (@v_flag,$new_part); } } if (scalar(keys(%newrecord)) > 0) { - if ($v_flag) { - &Apache::lonnet::unmark_as_readonly($domain,$stuname,$symb.$env{'request.course.id'}); - &version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname); + if (scalar @v_flag) { + foreach my $part_flagged (@v_flag) { + &Apache::lonnet::unmark_as_readonly($domain,$stuname,$symb.$env{'request.course.id'}); + &version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname); + } } &Apache::lonnet::cstore(\%newrecord,$symb, $env{'request.course.id'},$domain,$stuname);