--- loncom/homework/grades.pm 2006/03/28 00:46:20 1.342 +++ loncom/homework/grades.pm 2006/03/28 18:07:24 1.344 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.342 2006/03/28 00:46:20 banghart Exp $ +# $Id: grades.pm,v 1.344 2006/03/28 18:07:24 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2362,9 +2362,10 @@ sub saveHandGrade { my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; - if (scalar(keys(%newrecord)) > 0) { - if (scalar(@version_parts)) { - &version_portfiles(\%record, \%newrecord, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname, \@version_parts); + if (%newrecord) { + if (@version_parts) { + my @changed_keys = &version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname, \@version_parts); + @newrecord{@changed_keys} = @record{@changed_keys}; } &Apache::lonnet::cstore(\%newrecord,$symb, $env{'request.course.id'},$domain,$stuname); @@ -2504,8 +2505,9 @@ sub get_last_resets { # ----------- Handles creating versions for portfolio files as answers sub version_portfiles { - my ($record, $newrecord, $parts_graded, $courseid, $symb, $domain, $stu_name, $v_flag) = @_; + my ($record, $parts_graded, $courseid, $symb, $domain, $stu_name, $v_flag) = @_; my $version_parts = join('|',@$v_flag); + my @returned_keys; my $parts = join('|', @$parts_graded); my $portfolio_root = &Apache::loncommon::propath($domain, $stu_name). @@ -2530,10 +2532,11 @@ sub version_portfiles { [$symb,$env{'request.course.id'},'graded']); } } - $$newrecord{$key} = join(',',@versioned_portfiles); + $$record{$key} = join(',',@versioned_portfiles); + push(@returned_keys,$key); } } - return 'ok'; + return (@returned_keys); } sub get_next_version {