--- loncom/lti/ltipassback.pm 2017/12/12 02:13:21 1.4 +++ loncom/lti/ltipassback.pm 2017/12/15 17:07:09 1.5 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # LTI Consumer Module to receive grades passed back by Provider # -# $Id: ltipassback.pm,v 1.4 2017/12/12 02:13:21 raeburn Exp $ +# $Id: ltipassback.pm,v 1.5 2017/12/15 17:07:09 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -226,7 +226,7 @@ sub handler { $resulttype =~ s/(^\s+|\s+)$//g; } else { $resulttype = 'decimal'; - } + } $result = $params->{'result_resultscore_textstring'}; $result =~ s/(^\s+|\s+)$//g; my $posslang = $params->{'result_resultscore_language'}; @@ -270,19 +270,24 @@ sub handler { my %newrecord=(); my $reckey = 'resource.0.solved'; my %record = &Apache::lonnet::restore($symb,$cdom.'_'.$cnum,$udom,$uname); + my $tries = 0; + if ($record{'resource.0.tries'} =~ /^\d$/) { + $tries = $record{'resource.0.tries'}; + } if ($record{'resource.0.awarded'} ne $pcf) { $newrecord{'resource.0.awarded'} = $pcf; } if ($pcf == 0) { - if ($record{$reckey} ne 'incorrect_by_override') { - $newrecord{$reckey} = 'incorrect_by_override'; + if ($record{$reckey} ne 'incorrect_by_passback') { + $newrecord{$reckey} = 'incorrect_by_passback'; } } else { - if ($record{$reckey} ne 'correct_by_override') { - $newrecord{$reckey} = 'correct_by_override'; + if ($record{$reckey} ne 'correct_by_passback') { + $newrecord{$reckey} = 'correct_by_passback'; } } if (%newrecord) { + $newrecord{'resource.0.tries'} = 1 + $tries; $env{'request.course.id'} = $cdom.'_'.$cnum; my $result = &Apache::lonnet::cstore(\%newrecord,$symb,$cdom.'_'.$cnum, $udom,$uname); @@ -293,6 +298,8 @@ sub handler { $errors{25} = 1; &invalid_request($r,$params,\%errors); } + } else { + &success($r,$params->{'sourcedid'},$resulttype,$result,$lang); } } else { $errors{26} = 1;