MDL-50341 quiz statistics: non-attempted questions broke first-try stats
authorTim Hunt <T.J.Hunt@open.ac.uk>
Sun, 31 May 2015 12:34:06 +0000 (13:34 +0100)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Sun, 31 May 2015 12:36:53 +0000 (13:36 +0100)
For behaviours that allow multiple tries, and when the teacher had chosen to
generate statistics for the first tries only, and when a student had not
attempted one question, then an error occurred. It should have been classified
as no response.

question/behaviour/behaviourbase.php

index e89ae69..8daaab0 100644 (file)
@@ -308,7 +308,12 @@ abstract class question_behaviour {
         } else {
             $stepswithsubmit = $this->qa->get_steps_with_submitted_response_iterator();
             if ($whichtries == question_attempt::FIRST_TRY) {
-                return $this->question->classify_response($stepswithsubmit[1]->get_qt_data());
+                $firsttry = $stepswithsubmit[1];
+                if ($firsttry) {
+                    return $this->question->classify_response($firsttry->get_qt_data());
+                } else {
+                    return $this->question->classify_response(array());
+                }
             } else {
                 $classifiedresponses = array();
                 foreach ($stepswithsubmit as $submittedresponseno => $step) {