--- loncom/homework/inputtags.pm 2003/07/15 21:26:23 1.109 +++ loncom/homework/inputtags.pm 2003/09/23 16:00:49 1.114.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.109 2003/07/15 21:26:23 www Exp $ +# $Id: inputtags.pm,v 1.114.2.3 2003/09/23 16:00:49 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -346,15 +346,20 @@ sub decideoutput { 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'); + $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=''; @@ -368,8 +373,9 @@ sub decideoutput { 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'); + $message.=(($target eq 'web')?'
':' '). + 'Your receipt is '.&Apache::lonnet::receipt(). + (($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):''); } $bgcolor=$possiblecolors{'correct'}; $button=0; @@ -396,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') { @@ -409,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') { @@ -418,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') { @@ -446,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; @@ -508,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) eq 'no') { + $Apache::lonhomework::results{"resource.$id.awarded"} = 0; + } $Apache::lonhomework::results{"resource.$id.solved"} = 'incorrect_attempted' } elsif ( $award eq 'SUBMITTED' ) { @@ -527,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; } } @@ -612,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);