--- loncom/homework/inputtags.pm 2015/03/18 12:53:24 1.333 +++ loncom/homework/inputtags.pm 2015/04/21 12:28:05 1.334 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # input definitons # -# $Id: inputtags.pm,v 1.333 2015/03/18 12:53:24 raeburn Exp $ +# $Id: inputtags.pm,v 1.334 2015/04/21 12:28:05 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -996,6 +996,23 @@ sub finalizeawards { $j++; } + # if at least one response item is set to include lenient grading + # and that item is partially correct then overall award reflects + # that, unless an award for one of the other response items does + # not fall within the basic awards for correct or incorrect. + if ($Apache::inputtags::leniency) { + if (($$awardref[$which] eq 'INCORRECT') + && (grep { $_ eq 'EXACT_ANS' || + $_ eq 'APPROX_ANS' || + $_ eq 'ASSIGNED_SCORE' } (@$awardref)) + && !((grep { $_ ne 'INCORRECT' && + $_ ne 'EXACT_ANS' && + $_ ne 'APPROX_ANS' && + $_ ne 'ASSIGNED_SCORE' } (@$awardref)))) { + return ('ASSIGNED_SCORE'); + } + } + if (defined($which)) { if (ref($nameref)) { return ($$awardref[$which],$$msgref[$which],$$nameref[$which]);