--- loncom/homework/inputtags.pm 2004/06/03 14:28:39 1.143
+++ loncom/homework/inputtags.pm 2004/06/04 22:06:07 1.144
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# input definitons
#
-# $Id: inputtags.pm,v 1.143 2004/06/03 14:28:39 www Exp $
+# $Id: inputtags.pm,v 1.144 2004/06/04 22:06:07 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -65,6 +65,9 @@ sub initialize_inputtags {
@Apache::inputtags::importlist=();
# just used to note whether we have seen a response that isn't in a part
$Apache::inputtags::response_with_no_part=0;
+ # storage location so the begin <*response> tag can generate the correct
+ # answer string for display by the
+ %Apache::inputtags::answertxt=();
}
sub check_for_duplicate_ids {
@@ -224,8 +227,8 @@ sub start_textline {
}
} else {
#right or wrong don't show what was last typed in.
- #$result=''.$oldresponse.'';
- $result='';
+ $result=''.$Apache::inputtags::answertxt{$id}.'';
+ #$result='';
}
} elsif ($target eq 'edit') {
$result=&Apache::edit::tag_start($target,$token);
@@ -344,6 +347,7 @@ sub decideoutput {
} else {
$message = "".&mt('You are correct.')."";
}
+ $message.= " ".&mt(" Computer's answer now shown.");
unless ($ENV{'course.'.
$ENV{'request.course.id'}.
'.disable_receipt_display'} eq 'yes') {
@@ -366,11 +370,16 @@ sub decideoutput {
$previousmsg='';
} elsif ($award eq 'EXACT_ANS' || $award eq 'APPROX_ANS' ) {
if ($solved =~ /^incorrect/ || $solved eq '') {
- $message = &mt("Incorrect");
+ $message = &mt("Incorrect").".";
$bgcolor=$possiblecolors{'charged_try'};
$button=1;
} else {
- $message = "".&mt('You are correct.')."";
+ if ($target eq 'tex') {
+ $message = '\textbf{'.&mt('You are correct.').'}';
+ } else {
+ $message = "".&mt('You are correct.')."";
+ }
+ $message.= " ".&mt(" Computer's answer now shown.");
unless ($ENV{'course.'.
$ENV{'request.course.id'}.
'.disable_receipt_display'} eq 'yes') {
@@ -423,21 +432,21 @@ 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') {
- $message = &mt("Units required");
+ $message = &mt("Units required").'.';
if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units')};
$bgcolor=$possiblecolors{'not_charged_try'};
$button=1;
@@ -446,7 +455,7 @@ sub decideoutput {
$bgcolor=$possiblecolors{'not_charged_try'};
$button=1;
} elsif ($award eq 'INCORRECT') {
- $message = &mt("Incorrect");
+ $message = &mt("Incorrect").'.';
$bgcolor=$possiblecolors{'charged_try'};
$button=1;
} elsif ($award eq 'SUBMITTED') {
@@ -454,13 +463,16 @@ sub decideoutput {
$bgcolor=$possiblecolors{'correct'};
$button=1;
} elsif ($award eq 'DRAFT') {
- $message = "A draft copy has been saved.";
+ $message = &mt("A draft copy has been saved.");
$bgcolor=$possiblecolors{'not_charged_try'};
$button=1;
} elsif ($award eq 'ASSIGNED_SCORE') {
- $message = "A score has been assigned.";
+ $message = &mt("A score has been assigned.");
$bgcolor=$possiblecolors{'correct'};
$button=0;
+ } elsif ($award eq '') {
+ $bgcolor=$possiblecolors{'not_charged_try'};
+ $button=1;
} else {
$message = &mt("Unknown message").": $award";
$button=1;
@@ -471,6 +483,9 @@ sub decideoutput {
$bgcolor=$possiblecolors{'correct'};
$button=1;
}
+ if ($Apache::inputtags::status[-1] eq 'SHOW_ANSWER') {
+ $message.=" ".&mt("Computer's answer now shown.");
+ }
return ($button,$bgcolor,$message,$previousmsg);
}
@@ -668,10 +683,11 @@ sub gradestatus {
my $previous = $Apache::lonhomework::history{"resource.$id.previous"};
my $awardmsg = $Apache::lonhomework::history{"resource.$id.awardmsg"};
&Apache::lonxml::debug("Found Award |$award|$solved|$awardmsg");
- if ( $award ne '' || $solved ne '') {
+ if ( $award ne '' || $solved ne '' || $status eq 'SHOW_ANSWER') {
&Apache::lonxml::debug('Getting message');
($showbutton,$bgcolor,$message,$previousmsg) =
&decideoutput($award,$awardmsg,$solved,$previous,$target);
+ &Apache::lonnet::logthis(" mesage is $message status is $status");
if ($target eq 'tex') {
$message='\vskip 2 mm '.$message.' ';
} else {