From 88ef9d0b2b6c4c85f3610805963455844bfd0c55 Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Sat, 18 Jun 2011 13:29:39 +0100 Subject: [PATCH] MDL-27916 Question state was described wrongly in adaptive and immediate feedback behaviours. --- question/behaviour/adaptive/behaviour.php | 28 +++++++++++-------- .../adaptive/lang/en/qbehaviour_adaptive.php | 1 + .../behaviour/immediatefeedback/behaviour.php | 9 ++++++ .../lang/en/qbehaviour_immediatefeedback.php | 1 + 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/question/behaviour/adaptive/behaviour.php b/question/behaviour/adaptive/behaviour.php index 7e8ad03fd4c..5bcee3be117 100644 --- a/question/behaviour/adaptive/behaviour.php +++ b/question/behaviour/adaptive/behaviour.php @@ -49,6 +49,22 @@ class qbehaviour_adaptive extends question_behaviour_with_save { return parent::get_expected_data(); } + public function get_state_string($showcorrectness) { + $laststep = $this->qa->get_last_step(); + if ($laststep->has_behaviour_var('_try')) { + $state = question_state::graded_state_for_fraction( + $laststep->get_behaviour_var('_rawfraction')); + return $state->default_string(true); + } + + $state = $this->qa->get_state(); + if ($state == question_state::$todo) { + return get_string('notcomplete', 'qbehaviour_adaptive'); + } else { + return parent::get_state_string($showcorrectness); + } + } + public function get_right_answer_summary() { return $this->question->get_right_answer_summary(); } @@ -61,18 +77,6 @@ class qbehaviour_adaptive extends question_behaviour_with_save { } } - public function get_state_string($showcorrectness) { - $state = $this->qa->get_state(); - - $laststep = $this->qa->get_last_step(); - if ($laststep->has_behaviour_var('_try')) { - $state = question_state::graded_state_for_fraction( - $laststep->get_behaviour_var('_rawfraction')); - } - - return $state->default_string($showcorrectness); - } - public function process_action(question_attempt_pending_step $pendingstep) { if ($pendingstep->has_behaviour_var('comment')) { return $this->process_comment($pendingstep); diff --git a/question/behaviour/adaptive/lang/en/qbehaviour_adaptive.php b/question/behaviour/adaptive/lang/en/qbehaviour_adaptive.php index 0bb96fa44a6..ca97f54108a 100644 --- a/question/behaviour/adaptive/lang/en/qbehaviour_adaptive.php +++ b/question/behaviour/adaptive/lang/en/qbehaviour_adaptive.php @@ -26,4 +26,5 @@ $string['gradingdetails'] = 'Marks for this submission: {$a->raw}/{$a->max}.'; $string['gradingdetailsadjustment'] = 'With previous penalties this gives {$a->cur}/{$a->max}.'; $string['gradingdetailspenalty'] = 'This submission attracted a penalty of {$a}.'; +$string['notcomplete'] = 'Not complete'; $string['pluginname'] = 'Adaptive mode'; diff --git a/question/behaviour/immediatefeedback/behaviour.php b/question/behaviour/immediatefeedback/behaviour.php index 21238e3a844..2e7bbe02655 100644 --- a/question/behaviour/immediatefeedback/behaviour.php +++ b/question/behaviour/immediatefeedback/behaviour.php @@ -59,6 +59,15 @@ class qbehaviour_immediatefeedback extends question_behaviour_with_save { return parent::get_expected_data(); } + public function get_state_string($showcorrectness) { + $state = $this->qa->get_state(); + if ($state == question_state::$todo) { + return get_string('notcomplete', 'qbehaviour_immediatefeedback'); + } else { + return parent::get_state_string($showcorrectness); + } + } + public function get_right_answer_summary() { return $this->question->get_right_answer_summary(); } diff --git a/question/behaviour/immediatefeedback/lang/en/qbehaviour_immediatefeedback.php b/question/behaviour/immediatefeedback/lang/en/qbehaviour_immediatefeedback.php index 6c4f0235a4f..84e36886f91 100644 --- a/question/behaviour/immediatefeedback/lang/en/qbehaviour_immediatefeedback.php +++ b/question/behaviour/immediatefeedback/lang/en/qbehaviour_immediatefeedback.php @@ -23,4 +23,5 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ +$string['notcomplete'] = 'Not complete'; $string['pluginname'] = 'Immediate feedback';