diff --git a/mod/quiz/lib.php b/mod/quiz/lib.php index 9ece885fcf8..5e0949d6015 100644 --- a/mod/quiz/lib.php +++ b/mod/quiz/lib.php @@ -1128,6 +1128,14 @@ function quiz_process_options($quiz) { $quiz->reviewoverallfeedback = quiz_review_option_form_to_db($quiz, 'overallfeedback'); $quiz->reviewattempt |= mod_quiz_display_options::DURING; $quiz->reviewoverallfeedback &= ~mod_quiz_display_options::DURING; + + // Ensure that disabled checkboxes in completion settings are set to 0. + if (empty($quiz->completionusegrade)) { + $quiz->completionpass = 0; + } + if (empty($quiz->completionpass)) { + $quiz->completionattemptsexhausted = 0; + } } /** diff --git a/mod/quiz/mod_form.php b/mod/quiz/mod_form.php index fda0558604c..e372bc2852c 100644 --- a/mod/quiz/mod_form.php +++ b/mod/quiz/mod_form.php @@ -517,11 +517,6 @@ class mod_quiz_mod_form extends moodleform_mod { $toform[$name] = $value; } } - - // Completion settings check. - if (empty($toform['completionusegrade'])) { - $toform['completionpass'] = 0; // Forced unchecked. - } } public function validation($data, $files) {