--- loncom/homework/grades.pm 2006/03/21 12:45:20 1.337
+++ loncom/homework/grades.pm 2006/03/21 13:49:34 1.338
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.337 2006/03/21 12:45:20 banghart Exp $
+# $Id: grades.pm,v 1.338 2006/03/21 13:49:34 banghart Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2352,12 +2352,10 @@ sub saveHandGrade {
&handback_files($request,$symb,$stuname,$domain,$newflg,$new_part,\%newrecord);
}
# unless problem has been graded, set flag to version the submitted files
- &Apache::lonnet::logthis("about to enter condition vflag");
unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ ||
$record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override' ||
$dropMenu eq 'reset status')
{
- &Apache::lonnet::logthis("pushing vflag");
push (@v_flag,$new_part);
}
}
@@ -2391,10 +2389,10 @@ sub saveHandGrade {
sub handback_files {
my ($request,$symb,$stuname,$domain,$newflg,$new_part,$newrecord) = @_;
- &Apache::lonnet::logthis("inside the handback");
- my $output;
+ my $portfolio_root = &Apache::loncommon::propath($domain,
+ $stuname).
+ '/userfiles/portfolio';
my ($partlist,$handgrade,$responseType) = &response_type($symb);
-
foreach my $part_resp (sort(keys(%$handgrade))) {
my ($part_id, $resp_id) = split(/_/,$part_resp);
if (($env{'form.'.$newflg.'_'.$part_resp.'_returndoc1'}) && ($new_part == $part_id)) {
@@ -2402,23 +2400,31 @@ sub handback_files {
my $file_counter = 1;
while ($env{'form.'.$newflg.'_'.$part_resp.'_returndoc'.$file_counter}) {
my $fname=$env{'form.'.$newflg.'_'.$part_resp.'_returndoc'.$file_counter.'.filename'};
- $$newrecord{"resource.$new_part.$resp_id.handback"} = $env{'form.returndocorig'.$file_counter};
+ my ($directory,$answer_file) =
+ ($env{'form.'.$newflg.'_'.$part_resp.'_origdoc'.$file_counter} =~ /^(.*?)([^\/]*)$/);
+ my ($answer_name,$answer_ver,$answer_ext) =
+ &file_name_version_ext($answer_file);
+ my @dir_list = &Apache::lonnet::dirlist($directory,$domain,$stuname,$portfolio_root);
+ my $version = &get_next_version($answer_name, $answer_ext, \@dir_list);
+ my $new_answer = &version_selected_portfile($domain, $stuname, $directory, $answer_file, $version);
+ $$newrecord{"resource.$new_part.$resp_id.handback"} = $new_answer;
+
# set the filename to match the submitted file name
$env{'form.'.$newflg.'_'.$part_resp.'_returndoc1.filename'} = $env{'form.'.$newflg.'_'.$part_resp.'_origdoc'.$file_counter};
my $result=&Apache::lonnet::userfileupload($newflg.'_'.$part_resp.'_returndoc'.$file_counter,'',
- 'portfolio',undef,undef,undef,$stuname,$domain);
+ 'portfolio',undef,undef,undef,$stuname,$domain);
if ($result !~ m|^/uploaded/|) {
$request->print(' An errror occured ('.$result.
') while trying to upload '.&display_file().'
');
# $request->print(&done('Back'));
}
$request->print("
".$fname." will be the uploaded file name");
- $request->print("Will upload document".$env{'form.'.$newflg.'_'.$part_resp.'_origdoc'.$file_counter});
+ $request->print("Will upload document ".$env{'form.'.$newflg.'_'.$part_resp.'_origdoc'.$file_counter});
$file_counter++;
}
}
}
- return ($output);
+ return;
}
sub get_submitted_files {