--- loncom/homework/inputtags.pm 2011/07/26 17:14:51 1.293 +++ loncom/homework/inputtags.pm 2011/11/29 13:24:38 1.296 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.293 2011/07/26 17:14:51 raeburn Exp $ +# $Id: inputtags.pm,v 1.296 2011/11/29 13:24:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -843,6 +843,26 @@ sub finalizeawards { } } +sub grading_is_nonlenient { + my ($part) = @_; +# Web mode: we are non-lenient unless told otherwise + my $defaultparm = 'off'; + my $nonlenient = 0; +# Grading a bubblesheet exam: we are grading lenient unless told otherwise + if ($Apache::lonhomework::scantronmode) { + $defaultparm = 'on'; + $nonlenient = 1; + } + my $lenientparm = + &Apache::response::get_response_param($part,'lenient',$defaultparm); + if ($lenientparm=~/^0|off|no$/i) { + $nonlenient = 1; + } elsif ($lenientparm=~/^1|on|yes$/i) { + $nonlenient = 0; + } + return $nonlenient; +} + sub decideoutput { my ($award,$awarded,$awardmsg,$solved,$previous,$target,$nocorrect)=@_; @@ -911,7 +931,13 @@ sub decideoutput { } } } - if ($awarded==1) { $button=0; } else { $button=1; } + if (&grading_is_nonlenient($part)) { + $button=0; + } elsif ($awarded==1) { + $button=0; + } else { + $button=1; + } $previousmsg=''; } elsif ($solved =~ /^excused/) { if ($target eq 'tex') { @@ -1459,7 +1485,7 @@ sub get_grade_messages { $trial.="/".$Apache::inputtags::params{'maxtries'}; } } - $trystr = ''.&mt($tries_text.' [_1]',$trial).''; + $trystr = ''.&mt($tries_text.' [_1]',$trial).''; } } @@ -1580,7 +1606,7 @@ sub previous_tries { {$1 $txt_correct. $3}s; } my $trystr = "(".&mt('Try [_1]',$Apache::lonhomework::history{"$prefix.tries"}).")"; - if ($curr_rndseed || $lastrndseed) { + if (($curr_rndseed || $lastrndseed) && ($i > 1)) { if ($curr_rndseed ne $lastrndseed) { $trystr .= '
'.&mt('New problem variation this try.').''; }