diff --git a/mod/quiz/classes/notification_helper.php b/mod/quiz/classes/notification_helper.php index 4f4982d2fd52e..624a570538301 100644 --- a/mod/quiz/classes/notification_helper.php +++ b/mod/quiz/classes/notification_helper.php @@ -76,13 +76,18 @@ public static function get_users_within_quiz(int $quizid): array { $users = get_enrolled_users( context: \context_module::instance($quizobj->get_cm()->id), withcapability: 'mod/quiz:attempt', - userfields: 'u.id, u.firstname', + userfields: 'u.id, u.firstname, u.suspended, u.auth', ); // Check for any override dates. $overrides = $quizobj->get_override_manager()->get_all_overrides(); foreach ($users as $key => $user) { + if ($user->suspended || ($user->auth == 'nologin')) { + unset($users[$key]); + continue; + } + // Time open and time close dates can be user specific with an override. // We begin by assuming it is the same as recorded in the quiz. $user->timeopen = $quiz->timeopen;