From 0dc3aa129526af58d6401b5d0252239019a9f162 Mon Sep 17 00:00:00 2001 From: Ryan Wyllie Date: Thu, 17 Aug 2017 06:24:12 +0000 Subject: [PATCH] MDL-59393 calendar: set defaults for legacy event in mapper --- calendar/classes/local/event/mappers/event_mapper.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/calendar/classes/local/event/mappers/event_mapper.php b/calendar/classes/local/event/mappers/event_mapper.php index 8e544dd90da..1561e02c75c 100644 --- a/calendar/classes/local/event/mappers/event_mapper.php +++ b/calendar/classes/local/event/mappers/event_mapper.php @@ -89,8 +89,16 @@ class event_mapper implements event_mapper_interface { public function from_event_to_legacy_event(event_interface $event) { $action = ($event instanceof action_event_interface) ? $event->get_action() : null; $timeduration = $event->get_times()->get_end_time()->getTimestamp() - $event->get_times()->get_start_time()->getTimestamp(); + $properties = $this->from_event_to_stdclass($event); - return new \calendar_event($this->from_event_to_stdclass($event)); + // Normalise for the legacy event because it wants zero rather than null. + $properties->courseid = empty($properties->courseid) ? 0 : $properties->courseid; + $properties->groupid = empty($properties->groupid) ? 0 : $properties->groupid; + $properties->userid = empty($properties->userid) ? 0 : $properties->userid; + $properties->modulename = empty($properties->modulename) ? 0 : $properties->modulename; + $properties->instance = empty($properties->instance) ? 0 : $properties->instance; + + return new \calendar_event($properties); } public function from_event_to_stdclass(event_interface $event) {