diff --git a/mod/quiz/startattempt.php b/mod/quiz/startattempt.php index a94e60f3e5e..7e6c1a7cbcf 100644 --- a/mod/quiz/startattempt.php +++ b/mod/quiz/startattempt.php @@ -93,9 +93,7 @@ if ($lastattempt && ($lastattempt->state == quiz_attempt::IN_PROGRESS || $quizobj->create_attempt_object($lastattempt)->handle_if_time_expired($timenow, true); // And, if the attempt is now no longer in progress, redirect to the appropriate place. - if ($lastattempt->state == quiz_attempt::OVERDUE) { - redirect($quizobj->summary_url($lastattempt->id)); - } else if ($lastattempt->state != quiz_attempt::IN_PROGRESS) { + if ($lastattempt->state == quiz_attempt::ABANDONED || $lastattempt->state == quiz_attempt::FINISHED) { redirect($quizobj->review_url($lastattempt->id)); } @@ -159,7 +157,11 @@ if ($accessmanager->is_preflight_check_required($currentattemptid)) { $accessmanager->notify_preflight_check_passed($currentattemptid); } if ($currentattemptid) { - redirect($quizobj->attempt_url($currentattemptid, $page)); + if ($lastattempt->state == quiz_attempt::OVERDUE) { + redirect($quizobj->summary_url($lastattempt->id)); + } else { + redirect($quizobj->attempt_url($currentattemptid, $page)); + } } // Delete any previous preview attempts belonging to this user. diff --git a/mod/quiz/summary.php b/mod/quiz/summary.php index ab12ab463c1..45d7c085d1f 100644 --- a/mod/quiz/summary.php +++ b/mod/quiz/summary.php @@ -64,7 +64,7 @@ if (!$attemptobj->is_preview_user() && $messages) { $output->access_messages($messages)); } if ($accessmanager->is_preflight_check_required($attemptobj->get_attemptid())) { - redirect($attemptobj->start_attempt_url(null, $page)); + redirect($attemptobj->start_attempt_url(null)); } $displayoptions = $attemptobj->get_display_options(false);