--- loncom/homework/inputtags.pm 2003/06/19 21:41:02 1.105 +++ loncom/homework/inputtags.pm 2003/09/23 15:44:39 1.114.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.105 2003/06/19 21:41:02 albertel Exp $ +# $Id: inputtags.pm,v 1.114.2.2 2003/09/23 15:44:39 albertel 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); @@ -342,13 +343,23 @@ 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.=(($target eq 'web')?'
':' '). + 'Your receipt is '.&Apache::lonnet::receipt(). + (($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); + } } $bgcolor=$possiblecolors{'correct'}; $button=0; $previousmsg=''; } elsif ($solved =~ /^excused/) { - $message = "You are excused from the problem."; + if ($target eq 'tex') { + $message = ' \textbf{You are excused from the problem.} '; + } else { + $message = "You are excused from the problem."; + } $bgcolor=$possiblecolors{'charged_try'}; $button=0; $previousmsg=''; @@ -358,8 +369,14 @@ sub decideoutput { $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.=(($target eq 'web')?'
':' '). + 'Your receipt is '.&Apache::lonnet::receipt(). + (($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); + } $bgcolor=$possiblecolors{'correct'}; $button=0; $previousmsg=''; @@ -373,7 +390,7 @@ sub decideoutput { $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') { @@ -385,8 +402,10 @@ sub decideoutput { $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').'.'; + $message = 'You have provided an invalid ranking'; + if ($target ne 'tex') { + $message.=', please refer to '.&Apache::loncommon::help_open_topic('Ranking_Problems','help on ranking problems').'.'; + } $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'INVALID_FILETYPE') { @@ -398,8 +417,8 @@ sub decideoutput { $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"; + $message = "Units incorrect. "; + if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units');} #Computer reads units as %s"; $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'UNIT_NOTNEEDED') { @@ -407,8 +426,8 @@ sub decideoutput { $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'NO_UNIT') { - $message = "Units required". - &Apache::loncommon::help_open_topic('Physical_Units'); + $message = "Units required"; + if ($target ne 'tex') {$message.=&Apache::loncommon::help_open_topic('Physical_Units')}; $bgcolor=$possiblecolors{'not_charged_try'}; $button=1; } elsif ($award eq 'BAD_FORMULA') { @@ -435,7 +454,8 @@ sub decideoutput { $message = "Unknown message: $award"; $button=1; } - if (lc($Apache::lonhomework::problemstatus) eq 'no') { + if (lc($Apache::lonhomework::problemstatus) eq 'no' && + $Apache::inputtags::status[-1] ne 'SHOW_ANSWER') { $message = "Answer Submitted"; $bgcolor=$possiblecolors{'correct'}; $button=1; @@ -497,6 +517,9 @@ sub setgradedata { } elsif ( $award eq 'INCORRECT' ) { $Apache::lonhomework::results{"resource.$id.tries"} = $Apache::lonhomework::history{"resource.$id.tries"} + 1; + if (lc($Apache::lonhomework::problemstatus) ne 'no') { + $Apache::lonhomework::results{"resource.$id.awarded"} = 0; + } $Apache::lonhomework::results{"resource.$id.solved"} = 'incorrect_attempted' } elsif ( $award eq 'SUBMITTED' ) { @@ -516,6 +539,7 @@ sub setgradedata { if (lc($Apache::lonhomework::problemstatus) eq 'no') { $Apache::lonhomework::results{"resource.$id.tries"} = $Apache::lonhomework::history{"resource.$id.tries"} + 1; + $Apache::lonhomework::results{"resource.$id.awarded"} = 0; } } @@ -601,7 +625,7 @@ sub gradestatus { my $solved = $Apache::lonhomework::history{"resource.$id.solved"}; my $previous = $Apache::lonhomework::history{"resource.$id.previous"}; &Apache::lonxml::debug("Found Award |$award|$solved|"); - if ( $award ne '' ) { + if ( $award ne '' || $solved ne '') { &Apache::lonxml::debug('Getting message'); ($showbutton,$bgcolor,$message,$previousmsg) = &decideoutput($award,$solved,$previous,$target);