MDL-41174 course: Module name change updates calendar.
authorAdrian Greeve <adrian@moodle.com>
Fri, 2 Sep 2016 02:42:29 +0000 (10:42 +0800)
committerAdrian Greeve <adrian@moodle.com>
Fri, 2 Sep 2016 03:46:09 +0000 (11:46 +0800)
course/lib.php

index 994b37e..a8ac69b 100644 (file)
@@ -1679,6 +1679,12 @@ function set_coursemodule_name($id, $name) {
     $grademodule->modname = $cm->modname;
     grade_update_mod_grades($grademodule);
 
+    // Update calendar events with the new name.
+    $refresheventsfunction = $cm->modname . '_refresh_events';
+    if (function_exists($refresheventsfunction)) {
+        call_user_func($refresheventsfunction, $cm->course);
+    }
+
     return true;
 }
 
@@ -3709,6 +3715,12 @@ function duplicate_module($course, $cm) {
         moveto_module($newcm, $section, $cm);
         moveto_module($cm, $section, $newcm);
 
+        // Update calendar events with the duplicated module.
+        $refresheventsfunction = $newcm->modname . '_refresh_events';
+        if (function_exists($refresheventsfunction)) {
+            call_user_func($refresheventsfunction, $newcm->course);
+        }
+
         // Trigger course module created event. We can trigger the event only if we know the newcmid.
         $event = \core\event\course_module_created::create_from_cm($newcm);
         $event->trigger();