--- loncom/homework/inputtags.pm 2004/06/28 15:01:44 1.147 +++ loncom/homework/inputtags.pm 2004/10/19 15:24:32 1.152 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.147 2004/06/28 15:01:44 sakharuk Exp $ +# $Id: inputtags.pm,v 1.152 2004/10/19 15:24:32 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -330,6 +330,7 @@ sub decideoutput { my $button=0; my $previousmsg; my $bgcolor='orange'; + my $added_computer_text=0; my %possiblecolors = ( 'correct' => '#aaffaa', 'charged_try' => '#ffaaaa', @@ -346,8 +347,9 @@ sub decideoutput { $message = '\textbf{'.&mt('You are correct.').'}'; } else { $message = "".&mt('You are correct.').""; + $message.=" ".&mt("Computer's answer now shown above."); } - $message.= " ".&mt(" Computer's answer now shown."); + $added_computer_text=1; unless ($ENV{'course.'. $ENV{'request.course.id'}. '.disable_receipt_display'} eq 'yes') { @@ -378,8 +380,9 @@ sub decideoutput { $message = '\textbf{'.&mt('You are correct.').'}'; } else { $message = "".&mt('You are correct.').""; + $message.=" ".&mt("Computer's answer now shown above."); } - $message.= " ".&mt(" Computer's answer now shown."); + $added_computer_text=1; unless ($ENV{'course.'. $ENV{'request.course.id'}. '.disable_receipt_display'} eq 'yes') { @@ -436,17 +439,17 @@ sub decideoutput { $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'UNIT_INVALID_STUDENT') { - $message = &mt('Unable to interpret units. Computer reads units as "[_1]"',''.$awardmsg.'.'); + $message = &mt('Unable to interpret units. Computer reads units as "[_1]".',''.$awardmsg.''); if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units');} $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'UNIT_FAIL' || $award eq 'UNIT_IRRECONCIBLE') { - $message = &mt('Incompatible units. No conversion found between "[_1]" and the required units ',''.$awardmsg.'.'); + $message = &mt('Incompatible units. No conversion found between "[_1]" and the required units.',''.$awardmsg.''); if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units');} $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'UNIT_NOTNEEDED') { - $message = &mt('Only a number required. Computer reads units of "[_1]"',''.$awardmsg.'.'); + $message = &mt('Only a number required. Computer reads units of "[_1]".',''.$awardmsg.''); $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'NO_UNIT') { @@ -487,8 +490,10 @@ sub decideoutput { $bgcolor=$possiblecolors{'correct'}; $button=1; } - if ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER') { - $message.=" ".&mt("Computer's answer now shown."); + if ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER' && + !$added_computer_text && $target ne 'tex') { + $message.=" ".&mt("Computer's answer now shown above."); + $added_computer_text=1; } return ($button,$bgcolor,$message,$previousmsg); } @@ -565,7 +570,8 @@ sub setgradedata { } elsif ( $award eq 'INCORRECT' ) { $Apache::lonhomework::results{"resource.$id.tries"} = $Apache::lonhomework::history{"resource.$id.tries"} + 1; - if (lc($Apache::lonhomework::problemstatus) eq 'no') { + if (lc($Apache::lonhomework::problemstatus) eq 'no' || + $Apache::lonhomework::scantronmode) { $Apache::lonhomework::results{"resource.$id.awarded"} = 0; } $Apache::lonhomework::results{"resource.$id.solved"} = @@ -584,7 +590,8 @@ sub setgradedata { } else { $Apache::lonhomework::results{"resource.$id.solved"} = 'incorrect_attempted'; - if (lc($Apache::lonhomework::problemstatus) eq 'no') { + if (lc($Apache::lonhomework::problemstatus) eq 'no' || + $Apache::lonhomework::scantronmode) { $Apache::lonhomework::results{"resource.$id.tries"} = $Apache::lonhomework::history{"resource.$id.tries"} + 1; $Apache::lonhomework::results{"resource.$id.awarded"} = 0;