--- loncom/homework/grades.pm	2004/04/24 08:35:10	1.189
+++ loncom/homework/grades.pm	2004/04/24 09:01:52	1.190
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # The LON-CAPA Grading handler
 #
-# $Id: grades.pm,v 1.189 2004/04/24 08:35:10 albertel Exp $
+# $Id: grades.pm,v 1.190 2004/04/24 09:01:52 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -3521,8 +3521,8 @@ sub scantron_selectphase {
           <tr bgcolor="#ffffe6">
 	    <td> Options: </td>
             <td>
-                <input type="checkbox" name="scantron_options" value="redo_skipped"/> Redo skipped records <br />
-                <input type="checkbox" name="scantron_options" value="ignore_corrections"/> Ignore Original Corrections
+                <input type="checkbox" name="scantron_options_redo" value="redo_skipped"/> Redo skipped records <br />
+                <input type="checkbox" name="scantron_options_ignore" value="ignore_corrections"/> Ignore Original Corrections
 	    </td>
           </tr>
           <tr bgcolor="#ffffe6">
@@ -3836,7 +3836,15 @@ sub scantron_process_corrections {
 				    'username'=>$ENV{'form.scantron_username'},
 				    'domain'=>$ENV{'form.scantron_domain'}});
     } elsif ($ENV{'form.scantron_corrections'} =~ /^(duplicate|incorrect)CODE$/) {
-	my $newCODE=$ENV{'form.scantron_CODE'};
+	my $resolution=$ENV{'form.scantron_CODE_resolution'};
+	my $newCODE;
+	if      ($resolution eq 'use_unfound') {
+	    &FIXME_blow_up();
+	} elsif ($resolution eq 'use_found') {
+	    $newCODE=$ENV{'form.scantron_CODE_selectedvalue'};
+	} elsif ($resolution eq 'use_typed') {
+	    $newCODE=$ENV{'form.scantron_CODE_newvalue'};
+	}
 	($line,$err,$errmsg)=
 	    &scantron_fixup_scanline(\%scantron_config,$scan_data,$line,$which,
 				     'CODE',{'CODE'=>$newCODE});
@@ -3876,6 +3884,10 @@ sub scantron_validate_file {
   <input type="hidden" name="scantron_format" value="$ENV{'form.scantron_format'}" />
   <input type="hidden" name="scantron_selectfile" value="$ENV{'form.scantron_selectfile'}" />
   <input type="hidden" name="scantron_maxbubble" value="$ENV{'form.scantron_maxbubble'}" />
+  <input type="hidden" name="scantron_CODElist" value="$ENV{'form.scantron_CODElist'}" />
+  <input type="hidden" name="scantron_CODEunique" value="$ENV{'form.scantron_CODEunique'}" />
+  <input type="hidden" name="scantron_options_redo" value="$ENV{'form.scantron_optiond_redo'}" />
+  <input type="hidden" name="scantron_options_ignore" value="$ENV{'form.scantron_optiond_ignore'}" />
   $default_form_data
 SCANTRONFORM
     $r->print($result);
@@ -4116,12 +4128,12 @@ sub scantron_get_correction {
 		  $$scan_record{'scantron.FirstName'}."</p>");
 	$r->print("<p>How should I handle this? <br /> \n");
 	$r->print("\n<br /> ");
-	$r->print("<input type='radio' name='scan_CODE_resolution' value='use_unfound' checked='on' /> Use the CODE <b><tt>".$$scan_record{'scantron.CODE'}."</tt></b> that is was on the paper, ignoring the error.");
+	$r->print("<input type='radio' name='scantron_CODE_resolution' value='use_unfound' checked='on' /> Use the CODE <b><tt>".$$scan_record{'scantron.CODE'}."</tt></b> that is was on the paper, ignoring the error.");
 	$r->print("\n<br />");
 	$r->print(<<ENDSCRIPT);
 <script type="text/javascript">
 function change_radio(field) {
-    var slct=document.scantronupload.scan_CODE_resolution;
+    var slct=document.scantronupload.scantron_CODE_resolution;
     var i;
     for (i=0;i<slct.length;i++) {
         if (slct[i].value==field) { slct[i].checked=true; }
@@ -4135,9 +4147,9 @@ ENDSCRIPT
 	   "&scantron_CODElist=".&Apache::lonnet::escape($ENV{'form.scantron_CODElist'}).
 	   "&curCODE=".&Apache::lonnet::escape($$scan_record{'scantron.CODE'}).
 	   "&scantron_selectfile=".&Apache::lonnet::escape($ENV{'form.scantron_selectfile'});
-	$r->print("<input type='radio' name='scan_CODE_resolution' value='use_found' /> <a target='_blank' href='$href'>Select</a> a CODE from the list of all CODEs and use it. Selected CODE is <input readonly='true' type='text' size='8' name='scan_CODE_selectedvalue' onfocus=\"javascript:change_radio('use_found')\" onchange=\"javascript:change_radio('use_found')\" />");
+	$r->print("<input type='radio' name='scantron_CODE_resolution' value='use_found' /> <a target='_blank' href='$href'>Select</a> a CODE from the list of all CODEs and use it. Selected CODE is <input readonly='true' type='text' size='8' name='scantron_CODE_selectedvalue' onfocus=\"javascript:change_radio('use_found')\" onchange=\"javascript:change_radio('use_found')\" />");
 	$r->print("\n<br />");
-	$r->print("<input type='radio' name='scan_CODE_resolution' value='use_typed' /> Use <input type='text' size='8' name='scan_CODE_newvalue' onfocus=\"javascript:change_radio('use_typed')\" onkeypress=\"javascript:change_radio('use_typed')\" /> as the CODE.");
+	$r->print("<input type='radio' name='scantron_CODE_resolution' value='use_typed' /> Use <input type='text' size='8' name='scantron_CODE_newvalue' onfocus=\"javascript:change_radio('use_typed')\" onkeypress=\"javascript:change_radio('use_typed')\" /> as the CODE.");
 	$r->print("\n<br /><br />");
     } elsif ($error eq 'doublebubble') {
 #FIXME Need to print out who this is along with the paper info
@@ -4198,7 +4210,6 @@ sub scantron_validate_CODE {
 	    &FIXME_blow_up()
 	}
     } else {
-	&Apache::lonnet::logthis(" CODE stuf $scantron_config{'CODElocation'}:$scantron_config{'CODEstart'}:$scantron_config{'CODElength'}");
 	return (0,$currentphase+1);
     }