MDL-37514 module.js: fix .js for auto quiz submission in preview mode
authorAlex Leontiev <alozz1991@gmail.com>
Sat, 20 Apr 2013 07:32:27 +0000 (15:32 +0800)
committerDan Poltawski <dan@moodle.com>
Mon, 22 Apr 2013 13:05:47 +0000 (14:05 +0100)
The issue: when we attempt the quiz as teacher/admin and timer is up,
quiz is not submitted, even though "Open attempts are submitted
automatically" is set. I've changed the javascript for a timer,
responsible for submission, removing the special behaviour in case of
preview mode. Note, that when the admin/teacher is taking a quiz, the
"preview" mode is automatically switched on.

It is a bit strange, since in the javascript there was clearly no
expressed intention to really submit quiz in preview, even when timer
hits. It does not really seem like a accidental bug, rather it looks
like some misunderstanding. Worse still, it may happen that I did not
understand the intentions of previous editor and ruined some
functionality. Because of this, and the fact that this is my first bug,
I would like to ask about the peer review! Please, see my comments in
bug discussion for the testing steps.

mod/quiz/module.js

index 5e505f9..c3aa382 100644 (file)
@@ -96,13 +96,7 @@ M.mod_quiz.timer = {
         var Y = M.mod_quiz.timer.Y;
         var secondsleft = Math.floor((M.mod_quiz.timer.endtime - new Date().getTime())/1000);
         
-        // If this is a preview and time expired, display timeleft 0 and don't renew the timer.
-        if (M.mod_quiz.timer.preview && secondsleft < 0) {
-            Y.one('#quiz-time-left').setContent('0:00:00');
-            return;
-        }
-
-        // If time has expired, Set the hidden form field that says time has expired.
+        // If time has expired, set the hidden form field that says time has expired and submit
         if (secondsleft < 0) {
             M.mod_quiz.timer.stop(null);
             Y.one('#quiz-time-left').setContent(M.str.quiz.timesup);