Permalink
Browse files

Merge branch 'MDL-31671-m21' of git://github.com/ankitagarwal/moodle …

…into MOODLE_21_STABLE
  • Loading branch information...
2 parents ad52077 + 78f8349 commit 8296031c1f1b2e0b08b05f0f07240da3ad9b979e Sam Hemelryk committed May 8, 2012
Showing with 14 additions and 0 deletions.
  1. +14 −0 calendar/lib.php
View
@@ -2088,6 +2088,20 @@ public function delete($deleterepeated=false) {
// Delete the event
$DB->delete_records('event', array('id'=>$this->properties->id));
+ // If we are deleting parent of a repeated event series, promote the next event in the series as parent
+ if (($this->properties->id == $this->properties->repeatid) && !$deleterepeated) {
+ $newparent = $DB->get_field_sql("SELECT id from {event} where repeatid = ? order by id ASC", array($this->properties->id), IGNORE_MULTIPLE);
+ if (!empty($newparent)) {
+ $DB->execute("UPDATE {event} SET repeatid = ? WHERE repeatid = ?", array($newparent, $this->properties->id));
+ // Get all records where the repeatid is the same as the event being removed
+ $events = $DB->get_records('event', array('repeatid' => $newparent));
+ // For each of the returned events trigger the event_update hook.
+ foreach ($events as $event) {
+ self::calendar_event_hook('update_event', array($event, false));
+ }
+ }
+ }
+
// If the editor context hasn't already been set then set it now
if ($this->editorcontext === null) {
$this->editorcontext = $this->properties->context;

0 comments on commit 8296031

Please sign in to comment.