--- loncom/homework/inputtags.pm 2003/04/19 09:00:54 1.92 +++ loncom/homework/inputtags.pm 2003/04/21 20:59:02 1.93 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.92 2003/04/19 09:00:54 albertel Exp $ +# $Id: inputtags.pm,v 1.93 2003/04/21 20:59:02 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -370,8 +370,14 @@ sub setgradedata { $Apache::lonhomework::results{"resource.$id.afterduedate"}=$award; return ''; } elsif ( $Apache::lonhomework::history{"resource.$id.solved"} !~ - /^correct/ ) { + /^correct/ || $Apache::lonhomework::scantronmode) { #handle assignment of tries and solved status + my $solvemsg; + if ($Apache::lonhomework::scantronmode) { + $solvemsg='correct_by_scantron'; + } else { + $solvemsg='correct_by_student'; + } if ($Apache::lonhomework::history{"resource.$id.afterduedate"}) { $Apache::lonhomework::results{"resource.$id.afterduedate"}=''; } @@ -379,19 +385,23 @@ sub setgradedata { $Apache::lonhomework::results{"resource.$id.tries"} = $Apache::lonhomework::history{"resource.$id.tries"} + 1; $Apache::lonhomework::results{"resource.$id.solved"} = - 'correct_by_student'; - my $numawards=scalar(@Apache::inputtags::response); + $solvemsg; + my $numawards=scalar(@Apache::inputtags::responselist); + &Apache::lonxml::debug("Whaaa!"); $Apache::lonhomework::results{"resource.$id.awarded"} = 0; - foreach my $res (@Apache::inputtags::response) { + foreach my $res (@Apache::inputtags::responselist) { $Apache::lonhomework::results{"resource.$id.awarded"}+= $Apache::lonhomework::results{"resource.$id.$res.awarded"}; } - $Apache::lonhomework::results{"resource.$id.awarded"}/=$numawards; + if ($numawards > 0) { + $Apache::lonhomework::results{"resource.$id.awarded"}/= + $numawards; + } } elsif ( $award eq 'APPROX_ANS' || $award eq 'EXACT_ANS' ) { $Apache::lonhomework::results{"resource.$id.tries"} = $Apache::lonhomework::history{"resource.$id.tries"} + 1; $Apache::lonhomework::results{"resource.$id.solved"} = - 'correct_by_student'; + $solvemsg; $Apache::lonhomework::results{"resource.$id.awarded"} = '1'; } elsif ( $award eq 'INCORRECT' ) { $Apache::lonhomework::results{"resource.$id.tries"} =