--- loncom/homework/inputtags.pm 2003/06/07 03:57:28 1.104 +++ loncom/homework/inputtags.pm 2003/06/19 21:41:02 1.105 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.104 2003/06/07 03:57:28 albertel Exp $ +# $Id: inputtags.pm,v 1.105 2003/06/19 21:41:02 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -324,7 +324,13 @@ sub decideoutput { my $message=''; my $button=0; my $previousmsg; - + my $bgcolor='orange'; + my %possiblecolors = + ( 'correct' => '#aaffaa', + 'charged_try' => '#ffaaaa', + 'not_charged_try' => '#ffffaa', + 'no_message' => '#fffff', + ); if ($previous) { $previousmsg='You have entered that answer before'; } if ($solved =~ /^correct/) { @@ -338,72 +344,92 @@ sub decideoutput { } $message.=' Your receipt is '.&Apache::lonnet::receipt; } + $bgcolor=$possiblecolors{'correct'}; $button=0; $previousmsg=''; } elsif ($solved =~ /^excused/) { $message = "You are excused from the problem."; + $bgcolor=$possiblecolors{'charged_try'}; $button=0; $previousmsg=''; } elsif ($award eq 'EXACT_ANS' || $award eq 'APPROX_ANS' ) { if ($solved =~ /^incorrect/ || $solved eq '') { $message = "Incorrect"; + $bgcolor=$possiblecolors{'charged_try'}; $button=1; } else { $message = "You are correct. Your receipt is ". &Apache::lonnet::receipt; + $bgcolor=$possiblecolors{'correct'}; $button=0; $previousmsg=''; } } elsif ($award eq 'NO_RESPONSE') { $message = ''; + $bgcolor=$possiblecolors{'no_feedback'}; $button=1; } elsif ($award eq 'MISSING_ANSWER') { $message = 'Some parts were not submitted'; + $bgcolor=$possiblecolors{'not_charged_try'}; $button = 1; } elsif ($award eq 'ERROR') { $message = 'An error occured while trying to grade answer.'; + $bgcolor=$possiblecolors{'not_charged_try'}; $button = 1; } elsif ($award eq 'TOO_LONG') { $message = "The submitted answer was too long."; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'WANTED_NUMERIC') { $message = "This question expects a numeric answer"; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'MISORDERED_RANK') { $message = 'You have provided an invalid ranking, please refer to '. - &Apache::loncommon::help_open_topic('Ranking_Problems','help on ranking problems').'.'; + &Apache::loncommon::help_open_topic('Ranking_Problems','help on ranking problems').'.'; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'INVALID_FILETYPE') { $message = 'The filetype extension of the file you uploaded is not allowed.'; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'SIG_FAIL') { $message = "Please adjust significant figures.";# you provided %s significant figures"; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'UNIT_FAIL') { $message = "Units incorrect. ". &Apache::loncommon::help_open_topic('Physical_Units'); #Computer reads units as %s"; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'UNIT_NOTNEEDED') { $message = "Only a number required.";# Computer reads units of %s"; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'NO_UNIT') { $message = "Units required". - &Apache::loncommon::help_open_topic('Physical_Units'); + &Apache::loncommon::help_open_topic('Physical_Units'); + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'BAD_FORMULA') { $message = "Unable to understand formula"; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'INCORRECT') { $message = "Incorrect"; + $bgcolor=$possiblecolors{'charged_try'}; $button=1; } elsif ($award eq 'SUBMITTED') { $message = "Your submission has been recorded."; + $bgcolor=$possiblecolors{'correct'}; $button=1; } elsif ($award eq 'DRAFT') { $message = "A draft copy has been saved."; + $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'ASSIGNED_SCORE') { $message = "A score has been assigned."; + $bgcolor=$possiblecolors{'correct'}; $button=0; } else { $message = "Unknown message: $award"; @@ -411,9 +437,10 @@ sub decideoutput { } if (lc($Apache::lonhomework::problemstatus) eq 'no') { $message = "Answer Submitted"; + $bgcolor=$possiblecolors{'correct'}; $button=1; } - return ($button,$message,$previousmsg); + return ($button,$bgcolor,$message,$previousmsg); } sub removealldata { @@ -560,6 +587,7 @@ sub grade { sub gradestatus { my ($id,$target) = @_; my $showbutton = 1; + my $bgcolor = ''; my $message = ''; my $latemessage = ''; my $trystr=''; @@ -575,14 +603,14 @@ sub gradestatus { &Apache::lonxml::debug("Found Award |$award|$solved|"); if ( $award ne '' ) { &Apache::lonxml::debug('Getting message'); - ($showbutton,$message,$previousmsg) = + ($showbutton,$bgcolor,$message,$previousmsg) = &decideoutput($award,$solved,$previous,$target); if ($target eq 'tex') { $message=' '.$message.' '; } else { - $message="$message"; + $message="$message"; if ($previousmsg) { - $previousmsg="$previousmsg"; + $previousmsg="$previousmsg"; } } }