--- loncom/homework/inputtags.pm 2005/06/20 19:54:28 1.168 +++ loncom/homework/inputtags.pm 2005/06/20 21:31:07 1.169 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.168 2005/06/20 19:54:28 albertel Exp $ +# $Id: inputtags.pm,v 1.169 2005/06/20 21:31:07 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -401,7 +401,7 @@ sub finalizeawards { } sub decideoutput { - my ($award,$awardmsg,$solved,$previous,$target)=@_; + my ($award,$awarded,$awardmsg,$solved,$previous,$target)=@_; my $message=''; my $button=0; my $previousmsg; @@ -413,11 +413,18 @@ sub decideoutput { 'not_charged_try' => '#ffffaa', 'no_message' => '#fffff', ); + if ($previous) { $previousmsg=&mt('You have entered that answer before'); } if ($solved =~ /^correct/) { + $bgcolor=$possiblecolors{'correct'}; if ($award eq 'ASSIGNED_SCORE') { $message = &mt("A score has been assigned."); + if ($awarded < 1 && $awarded > 0) { + $bgcolor=$possiblecolors{'not_charged_try'}; + } elsif ($awarded < 1) { + $bgcolor=$possiblecolors{'charged_try'}; + } } else { if ($target eq 'tex') { $message = '\textbf{'.&mt('You are correct.').'}'; @@ -434,7 +441,6 @@ sub decideoutput { (($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); } } - $bgcolor=$possiblecolors{'correct'}; $button=0; $previousmsg=''; } elsif ($solved =~ /^excused/) { @@ -787,6 +793,7 @@ sub gradestatus { if ( $status ne 'CLOSED' && $status ne 'UNAVAILABLE' && $status ne 'INVALID_ACCESS') { my $award = $Apache::lonhomework::history{"resource.$id.award"}; + my $awarded = $Apache::lonhomework::history{"resource.$id.awarded"}; my $solved = $Apache::lonhomework::history{"resource.$id.solved"}; my $previous = $Apache::lonhomework::history{"resource.$id.previous"}; my $awardmsg = $Apache::lonhomework::history{"resource.$id.awardmsg"}; @@ -794,7 +801,8 @@ sub gradestatus { if ( $award ne '' || $solved ne '' || $status eq 'SHOW_ANSWER') { &Apache::lonxml::debug('Getting message'); ($showbutton,$bgcolor,$message,$previousmsg) = - &decideoutput($award,$awardmsg,$solved,$previous,$target); + &decideoutput($award,$awarded,$awardmsg,$solved,$previous, + $target); if ($target eq 'tex') { $message='\vskip 2 mm '.$message.' '; } else {