--- loncom/homework/grades.pm 2006/01/25 22:58:26 1.302.2.1 +++ loncom/homework/grades.pm 2006/01/27 00:26:18 1.305 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.302.2.1 2006/01/25 22:58:26 albertel Exp $ +# $Id: grades.pm,v 1.305 2006/01/27 00:26:18 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1577,7 +1577,7 @@ sub submission { } my $overRideScore = $env{'form.overRideScore'} eq '' ? 'no' : $env{'form.overRideScore'}; - $request->print('<form action="/adm/grades" method="post" name="SCORE">'."\n". + $request->print('<form action="/adm/grades" method="post" name="SCORE" enctype="multipart/form-data">'."\n". '<input type="hidden" name="command" value="handgrade" />'."\n". '<input type="hidden" name="saveState" value="'.$env{'form.saveState'}.'" />'."\n". '<input type="hidden" name="Status" value="'.$env{'form.Status'}.'" />'."\n". @@ -1807,9 +1807,14 @@ KEYWORDS } if (@files) { $lastsubonly.='<br /><font color="red" size="1">Like all files provided by users, this file may contain virusses</font><br />'; + my $file_counter = 0; foreach my $file (@files) { + $file_counter ++; &Apache::lonnet::allowuploaded('/adm/grades',$file); $lastsubonly.='<br /><a href="'.$file.'" target="lonGRDs"><img src="'.&Apache::loncommon::icon($file).'" border=0"> '.$file.'</a>'; + $lastsubonly.='Return commented document to student. <input type="file" name="returndoc'.$file_counter.'" />'."\n"; + $lastsubonly.='<input type="hidden" name="returndocorig'.$file_counter.'" value="'.$file.'" />'; + } $lastsubonly.='<br />'; } @@ -2040,6 +2045,16 @@ sub processHandGrade { } } } + if ($env{'form.returndoc1'}) { + # if multiple files are uploaded names will be 'returndoc2', 'returndoc3' + my $file_counter = 1; + while ($env{'form.returndoc'.$file_counter}) { + my $fname=$env{'form.returndoc'.$file_counter.'.filename'}; + $request->print("<br />".$fname." will be the uploaded file name"); + $request->print("<font color=\"red\">Will upload document</font>".$env{'form.returndocorig'.$file_counter}); + $file_counter ++; + } + } $ctr++; } } @@ -2288,7 +2303,10 @@ sub saveHandGrade { "$env{'user.name'}:$env{'user.domain'}"; } # 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') { + unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/ || + $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override' || + $dropMenu eq 'reset status') + { push (@v_flag,$new_part); } } @@ -2394,7 +2412,6 @@ sub version_portfiles { if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) { my @v_portfiles; my @portfiles = split(/,/,$$record{$key}); - &Apache::lonnet::logthis("should be unmarking and remarking $key",@portfiles); foreach my $file (@portfiles) { &Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file); my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*)$/); @@ -2436,7 +2453,11 @@ sub version_portfiles { } } return 'ok'; - +} + +sub version_selected_portfile { + my ($file_name,$domain,$stu_name) = @_; + return 'ok'; } sub file_name_version_ext {