diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php index 47eb0bc6f4e..d4264b704f8 100644 --- a/mod/quiz/locallib.php +++ b/mod/quiz/locallib.php @@ -372,6 +372,11 @@ function quiz_delete_attempt($attempt, $quiz) { return; } + if (!isset($quiz->cmid)) { + $cm = get_coursemodule_from_instance('quiz', $quiz->id, $quiz->course); + $quiz->cmid = $cm->id; + } + question_engine::delete_questions_usage_by_activity($attempt->uniqueid); $DB->delete_records('quiz_attempts', array('id' => $attempt->id)); diff --git a/mod/quiz/report/attemptsreport.php b/mod/quiz/report/attemptsreport.php index 2342d8507f2..dca7ee99ab9 100644 --- a/mod/quiz/report/attemptsreport.php +++ b/mod/quiz/report/attemptsreport.php @@ -318,6 +318,8 @@ abstract class quiz_attempts_report extends quiz_default_report { continue; } + // Set the course module id before calling quiz_delete_attempt(). + $quiz->cmid = $cm->id; quiz_delete_attempt($attempt, $quiz); } }