version 1.302.2.7, 2006/09/22 21:16:14
|
version 1.305, 2006/01/27 00:26:18
|
Line 1577 sub submission {
|
Line 1577 sub submission {
|
} |
} |
my $overRideScore = $env{'form.overRideScore'} eq '' ? 'no' : $env{'form.overRideScore'}; |
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="command" value="handgrade" />'."\n". |
'<input type="hidden" name="saveState" value="'.$env{'form.saveState'}.'" />'."\n". |
'<input type="hidden" name="saveState" value="'.$env{'form.saveState'}.'" />'."\n". |
'<input type="hidden" name="Status" value="'.$env{'form.Status'}.'" />'."\n". |
'<input type="hidden" name="Status" value="'.$env{'form.Status'}.'" />'."\n". |
Line 1807 KEYWORDS
|
Line 1807 KEYWORDS
|
} |
} |
if (@files) { |
if (@files) { |
$lastsubonly.='<br /><font color="red" size="1">Like all files provided by users, this file may contain virusses</font><br />'; |
$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) { |
foreach my $file (@files) { |
|
$file_counter ++; |
&Apache::lonnet::allowuploaded('/adm/grades',$file); |
&Apache::lonnet::allowuploaded('/adm/grades',$file); |
$lastsubonly.='<br /><a href="'.$file.'" target="lonGRDs"><img src="'.&Apache::loncommon::icon($file).'" border=0"> '.$file.'</a>'; |
$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 />'; |
$lastsubonly.='<br />'; |
} |
} |
Line 2040 sub processHandGrade {
|
Line 2045 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++; |
$ctr++; |
} |
} |
} |
} |
Line 2248 sub saveHandGrade {
|
Line 2263 sub saveHandGrade {
|
|
|
my $solvedstatus = $record{'resource.'.$new_part.'.solved'}; |
my $solvedstatus = $record{'resource.'.$new_part.'.solved'}; |
if ($aggtries > 0) { |
if ($aggtries > 0) { |
&decrement_aggs($symb,$new_part,\%aggregate,$aggtries,$totaltries,$solvedstatus); |
&decrement($symb,$new_part,\%aggregate,$aggtries,$totaltries,$solvedstatus); |
$aggregateflag = 1; |
$aggregateflag = 1; |
} |
} |
} elsif ($dropMenu eq '') { |
} elsif ($dropMenu eq '') { |
Line 2288 sub saveHandGrade {
|
Line 2303 sub saveHandGrade {
|
"$env{'user.name'}:$env{'user.domain'}"; |
"$env{'user.name'}:$env{'user.domain'}"; |
} |
} |
# unless problem has been graded, set flag to version the submitted files |
# 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); |
push (@v_flag,$new_part); |
} |
} |
} |
} |
Line 2394 sub version_portfiles {
|
Line 2412 sub version_portfiles {
|
if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) { |
if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) { |
my @v_portfiles; |
my @v_portfiles; |
my @portfiles = split(/,/,$$record{$key}); |
my @portfiles = split(/,/,$$record{$key}); |
&Apache::lonnet::logthis("should be unmarking and remarking $key",@portfiles); |
|
foreach my $file (@portfiles) { |
foreach my $file (@portfiles) { |
&Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file); |
&Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file); |
my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*)$/); |
my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*)$/); |
Line 2436 sub version_portfiles {
|
Line 2453 sub version_portfiles {
|
} |
} |
} |
} |
return 'ok'; |
return 'ok'; |
|
} |
|
|
|
sub version_selected_portfile { |
|
my ($file_name,$domain,$stu_name) = @_; |
|
return 'ok'; |
} |
} |
|
|
sub file_name_version_ext { |
sub file_name_version_ext { |
Line 3291 sub csvuploadmap {
|
Line 3312 sub csvuploadmap {
|
unshift(@fields,['none','']); |
unshift(@fields,['none','']); |
$i=&Apache::loncommon::csv_samples_select_table($request,\@records, |
$i=&Apache::loncommon::csv_samples_select_table($request,\@records, |
\@fields); |
\@fields); |
foreach my $rec (@records) { |
my %sone=&Apache::loncommon::record_sep($records[0]); |
my %temp = &Apache::loncommon::record_sep($rec); |
$keyfields=join(',',sort(keys(%sone))); |
if (%temp) { |
|
$keyfields=join(',',sort(keys(%temp))); |
|
last; |
|
} |
|
} |
|
} |
} |
} |
} |
&csvuploadmap_footer($request,$i,$keyfields); |
&csvuploadmap_footer($request,$i,$keyfields); |
Line 3459 sub csvuploadassign {
|
Line 3475 sub csvuploadassign {
|
} |
} |
$request->print("<br />Stored $countdone students\n"); |
$request->print("<br />Stored $countdone students\n"); |
if (@skipped) { |
if (@skipped) { |
$request->print('<p><font size="+1"><b>Skipped Students</b></font></p>'); |
$request->print('<p<font size="+1"><b>Skipped Students</b></font></p>'); |
foreach my $student (@skipped) { $request->print("$student<br />\n"); } |
foreach my $student (@skipped) { $request->print("$student<br />\n"); } |
} |
} |
if (@notallowed) { |
if (@notallowed) { |
Line 3679 sub displayPage {
|
Line 3695 sub displayPage {
|
if($curRes == $iterator->BEGIN_MAP) { $depth++; } |
if($curRes == $iterator->BEGIN_MAP) { $depth++; } |
if($curRes == $iterator->END_MAP) { $depth--; } |
if($curRes == $iterator->END_MAP) { $depth--; } |
|
|
if (ref($curRes) && $curRes->is_problem()) { |
if (ref($curRes) && $curRes->is_problem() && !$curRes->randomout) { |
my $parts = $curRes->parts(); |
my $parts = $curRes->parts(); |
my $title = $curRes->compTitle(); |
my $title = $curRes->compTitle(); |
my $symbx = $curRes->symb(); |
my $symbx = $curRes->symb(); |
Line 3876 sub updateGradeByPage {
|
Line 3892 sub updateGradeByPage {
|
if($curRes == $iterator->BEGIN_MAP) { $depth++; } |
if($curRes == $iterator->BEGIN_MAP) { $depth++; } |
if($curRes == $iterator->END_MAP) { $depth--; } |
if($curRes == $iterator->END_MAP) { $depth--; } |
|
|
if (ref($curRes) && $curRes->is_problem()) { |
if (ref($curRes) && $curRes->is_problem() && !$curRes->randomout) { |
my $parts = $curRes->parts(); |
my $parts = $curRes->parts(); |
my $title = $curRes->compTitle(); |
my $title = $curRes->compTitle(); |
my $symbx = $curRes->symb(); |
my $symbx = $curRes->symb(); |
Line 4063 sub scantron_CODElist {
|
Line 4079 sub scantron_CODElist {
|
sub scantron_CODEunique { |
sub scantron_CODEunique { |
my $result='<nobr> |
my $result='<nobr> |
<label><input type="radio" name="scantron_CODEunique" |
<label><input type="radio" name="scantron_CODEunique" |
value="yes" checked="checked" /> Yes </label> |
value="Yes" checked="on" /> Yes </label> |
</nobr> |
</nobr> |
<nobr> |
<nobr> |
<label><input type="radio" name="scantron_CODEunique" |
<label><input type="radio" name="scantron_CODEunique" |
value="no" /> No </label> |
value="No" /> No </label> |
</nobr>'; |
</nobr>'; |
return $result; |
return $result; |
} |
} |
Line 4517 sub reset_skipping_status {
|
Line 4533 sub reset_skipping_status {
|
&scantron_putfile(undef,$scan_data); |
&scantron_putfile(undef,$scan_data); |
} |
} |
|
|
sub start_skipping { |
sub allow_skipping { |
my ($scan_data,$i)=@_; |
my ($scan_data,$i)=@_; |
my %remembered=split(':',&scan_data($scan_data,'remember_skipping')); |
my %remembered=split(':',&scan_data($scan_data,'remember_skipping')); |
if ($env{'form.scantron_options_redo'} =~ /^redo_/) { |
delete($remembered{$i}); |
$remembered{$i}=2; |
|
} else { |
|
$remembered{$i}=1; |
|
} |
|
&scan_data($scan_data,'remember_skipping',join(':',%remembered)); |
&scan_data($scan_data,'remember_skipping',join(':',%remembered)); |
} |
} |
|
|
sub should_be_skipped { |
sub should_be_skipped { |
my ($scanlines,$scan_data,$i)=@_; |
my ($scan_data,$i)=@_; |
if ($env{'form.scantron_options_redo'} !~ /^redo_/) { |
if ($env{'form.scantron_options_redo'} !~ /^redo_/) { |
# not redoing old skips |
# not redoing old skips |
if ($scanlines->{'skipped'}[$i]) { return 1; } |
|
return 0; |
return 0; |
} |
} |
my %remembered=split(':',&scan_data($scan_data,'remember_skipping')); |
my %remembered=split(':',&scan_data($scan_data,'remember_skipping')); |
|
if (exists($remembered{$i})) { return 0; } |
if (exists($remembered{$i}) && $remembered{$i} != 2 ) { |
|
return 0; |
|
} |
|
return 1; |
return 1; |
} |
} |
|
|
Line 4551 sub remember_current_skipped {
|
Line 4559 sub remember_current_skipped {
|
$to_remember{$i}=1; |
$to_remember{$i}=1; |
} |
} |
} |
} |
|
&Apache::lonnet::logthis('remembering '.join(':',%to_remember)); |
&scan_data($scan_data,'remember_skipping',join(':',%to_remember)); |
&scan_data($scan_data,'remember_skipping',join(':',%to_remember)); |
&scantron_putfile(undef,$scan_data); |
&scantron_putfile(undef,$scan_data); |
} |
} |
Line 4656 sub scantron_validate_file {
|
Line 4664 sub scantron_validate_file {
|
} |
} |
if ($env{'form.scantron_options_redo'} eq 'redo_skipped') { |
if ($env{'form.scantron_options_redo'} eq 'redo_skipped') { |
&remember_current_skipped(); |
&remember_current_skipped(); |
|
&scantron_remove_file('skipped'); |
$env{'form.scantron_options_redo'}='redo_skipped_ready'; |
$env{'form.scantron_options_redo'}='redo_skipped_ready'; |
} |
} |
|
|
Line 4818 sub scantron_putfile {
|
Line 4827 sub scantron_putfile {
|
|
|
sub scantron_get_line { |
sub scantron_get_line { |
my ($scanlines,$scan_data,$i)=@_; |
my ($scanlines,$scan_data,$i)=@_; |
if (&should_be_skipped($scanlines,$scan_data,$i)) { return undef; } |
if (&should_be_skipped($scan_data,$i)) { return undef; } |
#if ($scanlines->{'skipped'}[$i]) { return undef; } |
if ($scanlines->{'skipped'}[$i]) { return undef; } |
if ($scanlines->{'corrected'}[$i]) {return $scanlines->{'corrected'}[$i];} |
if ($scanlines->{'corrected'}[$i]) {return $scanlines->{'corrected'}[$i];} |
return $scanlines->{'orig'}[$i]; |
return $scanlines->{'orig'}[$i]; |
} |
} |
Line 4839 sub scantron_put_line {
|
Line 4848 sub scantron_put_line {
|
my ($scanlines,$scan_data,$i,$newline,$skip)=@_; |
my ($scanlines,$scan_data,$i,$newline,$skip)=@_; |
if ($skip) { |
if ($skip) { |
$scanlines->{'skipped'}[$i]=$newline; |
$scanlines->{'skipped'}[$i]=$newline; |
&start_skipping($scan_data,$i); |
&allow_skipping($scan_data,$i); |
return; |
return; |
} |
} |
$scanlines->{'corrected'}[$i]=$newline; |
$scanlines->{'corrected'}[$i]=$newline; |
} |
} |
|
|
sub scantron_clear_skip { |
|
my ($scanlines,$scan_data,$i)=@_; |
|
if (exists($scanlines->{'skipped'}[$i])) { |
|
undef($scanlines->{'skipped'}[$i]); |
|
return 1; |
|
} |
|
return 0; |
|
} |
|
|
|
sub scantron_validate_ID { |
sub scantron_validate_ID { |
my ($r,$currentphase) = @_; |
my ($r,$currentphase) = @_; |
|
|
Line 5297 SCANTRONFORM
|
Line 5297 SCANTRONFORM
|
($uname,$udom)=split(/:/,$uname); |
($uname,$udom)=split(/:/,$uname); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::delenv('form.counter'); |
&Apache::lonnet::appenv(%$scan_record); |
&Apache::lonnet::appenv(%$scan_record); |
|
|
if (&scantron_clear_skip($scanlines,$scan_data,$i)) { |
|
&scantron_putfile($scanlines,$scan_data); |
|
} |
|
|
|
my $i=0; |
my $i=0; |
foreach my $resource (@resources) { |
foreach my $resource (@resources) { |