From beff5c6685feac44b9823e170d4827e3fb8d17b4 Mon Sep 17 00:00:00 2001 From: Simey Lameze Date: Mon, 24 Aug 2020 11:08:00 +0800 Subject: [PATCH] MDL-71182 calendar: add logic for category events in get_context This commit adds the missing logic for category events in get_context() method. Without this fix, users will get errors if they have category events with userid set to 0. --- calendar/classes/external/events_related_objects_cache.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/calendar/classes/external/events_related_objects_cache.php b/calendar/classes/external/events_related_objects_cache.php index e845b64add5..48998950712 100644 --- a/calendar/classes/external/events_related_objects_cache.php +++ b/calendar/classes/external/events_related_objects_cache.php @@ -114,12 +114,15 @@ class events_related_objects_cache { public function get_context(event_interface $event) { global $USER; + $categoryid = $event->get_category() ? $event->get_category()->get('id') : null; $courseid = $event->get_course() ? $event->get_course()->get('id') : null; $groupid = $event->get_group() ? $event->get_group()->get('id') : null; $userid = $event->get_user() ? $event->get_user()->get('id') : null; $moduleid = $event->get_course_module() ? $event->get_course_module()->get('id') : null; - if (!empty($courseid)) { + if (!empty($categoryid)) { + return \context_coursecat::instance($categoryid); + } else if (!empty($courseid)) { return \context_course::instance($event->get_course()->get('id')); } else if (!empty($groupid)) { $group = $this->get_group($event);