--- loncom/homework/inputtags.pm 2003/06/07 03:57:28 1.104
+++ loncom/homework/inputtags.pm 2003/07/15 21:26:23 1.109
@@ -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.109 2003/07/15 21:26:23 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -144,6 +144,7 @@ sub start_textfield {
} else {
$result=$token->[4];
}
+ my $bodytext=&Apache::lonxml::get_all_text("/textfield",$parser);
$result.=&Apache::edit::modifiedfield();
} elsif ($target eq 'tex') {
my $number_of_lines = &Apache::lonxml::get_param('rows',$parstack,$safeeval);
@@ -324,7 +325,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/) {
@@ -336,74 +343,104 @@ sub decideoutput {
} else {
$message = "You are correct.";
}
- $message.=' Your receipt is '.&Apache::lonnet::receipt;
+ unless ($ENV{'course.'.
+ $ENV{'request.course.id'}.
+ '.disable_receipt_display'} eq 'yes') {
+ $message.='
Your receipt is '.&Apache::lonnet::receipt().
+ &Apache::loncommon::help_open_topic('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;
+ $message = "You are correct.";
+ unless ($ENV{'course.'.
+ $ENV{'request.course.id'}.
+ '.disable_receipt_display'} eq 'yes') {
+ $message.='
Your receipt is '.&Apache::lonnet::receipt().
+ &Apache::loncommon::help_open_topic('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.';
+ $message = 'An error occured while grading your 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 +448,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 +598,7 @@ sub grade {
sub gradestatus {
my ($id,$target) = @_;
my $showbutton = 1;
+ my $bgcolor = '';
my $message = '';
my $latemessage = '';
my $trystr='';
@@ -575,14 +614,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="