From 9ffdcf3da17730ca550125cc6cb04593bced2bd9 Mon Sep 17 00:00:00 2001 From: Santosh Nagargoje Date: Wed, 9 Aug 2023 23:10:58 +0530 Subject: [PATCH 1/2] MDL-78674 calendar: Added fix to rebuild module cache in calendar --- calendar/classes/local/api.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/calendar/classes/local/api.php b/calendar/classes/local/api.php index e59f34e95ec..cd92558f978 100644 --- a/calendar/classes/local/api.php +++ b/calendar/classes/local/api.php @@ -325,6 +325,10 @@ class api { 'core_calendar_event_timestart_updated', [$legacyevent, $moduleinstance] ); + list($course, $cm) = get_course_and_cm_from_instance($event->get_course_module()->get('instance'), + $event->get_course_module()->get('modname'), $event->get_course()->get('id')); + \course_modinfo::purge_course_module_cache($course->id, $cm->id); + rebuild_course_cache($course->id, true, true); } return $mapper->from_legacy_event_to_event($legacyevent); From fd65fe1bdfb67c51f7864dcb6b928183fc8be1cb Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Thu, 10 Aug 2023 09:33:49 +0800 Subject: [PATCH 2/2] MDL-78674 calendar: No need to call get_course_and_cm_from_instance() The course ID and CM id can already be fetched from the event object. --- calendar/classes/local/api.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/calendar/classes/local/api.php b/calendar/classes/local/api.php index cd92558f978..a29a429b099 100644 --- a/calendar/classes/local/api.php +++ b/calendar/classes/local/api.php @@ -325,10 +325,12 @@ class api { 'core_calendar_event_timestart_updated', [$legacyevent, $moduleinstance] ); - list($course, $cm) = get_course_and_cm_from_instance($event->get_course_module()->get('instance'), - $event->get_course_module()->get('modname'), $event->get_course()->get('id')); - \course_modinfo::purge_course_module_cache($course->id, $cm->id); - rebuild_course_cache($course->id, true, true); + + // Rebuild the course cache to make sure the updated dates are reflected. + $courseid = $event->get_course()->get('id'); + $cmid = $event->get_course_module()->get('id'); + \course_modinfo::purge_course_module_cache($courseid, $cmid); + rebuild_course_cache($courseid, true, true); } return $mapper->from_legacy_event_to_event($legacyevent);