From ab350dd26eca8741ee6424bc3af067940d63b209 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Fri, 12 Feb 2016 13:02:32 +0100 Subject: [PATCH] [jan] Handle gracefully if the base event of an imported recurrence exception is no longer recurring (Bug #14249). --- kronolith/docs/CHANGES | 2 ++ kronolith/lib/Event.php | 12 ++++++++---- kronolith/package.xml | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/kronolith/docs/CHANGES b/kronolith/docs/CHANGES index d78d7888f35..9073dd78044 100644 --- a/kronolith/docs/CHANGES +++ b/kronolith/docs/CHANGES @@ -2,6 +2,8 @@ v4.2.15-git ----------- +[jan] Handle gracefully if the base event of an imported recurrence exception + is no longer recurring (Bug #14249). ------- diff --git a/kronolith/lib/Event.php b/kronolith/lib/Event.php index a460fbf8829..911bd93c6d4 100644 --- a/kronolith/lib/Event.php +++ b/kronolith/lib/Event.php @@ -1444,10 +1444,14 @@ protected function _handlevEventRecurrence($vEvent) $this->uid = null; try { $originalEvent = $this->getDriver()->getByUID($this->baseid); - $originalEvent->recurrence->addException($originaldt->format('Y'), - $originaldt->format('m'), - $originaldt->format('d')); - $originalEvent->save(); + if ($originalEvent->recurrence) { + $originalEvent->recurrence->addException( + $originaldt->format('Y'), + $originaldt->format('m'), + $originaldt->format('d') + ); + $originalEvent->save(); + } } catch (Horde_Exception_NotFound $e) { throw new Kronolith_Exception(_("Unable to locate original event series.")); } diff --git a/kronolith/package.xml b/kronolith/package.xml index 5216aa0942f..1f1c4e1cc32 100644 --- a/kronolith/package.xml +++ b/kronolith/package.xml @@ -33,7 +33,7 @@ GPL-2.0 -* +* [jan] Handle gracefully if the base event of an imported recurrence exception is no longer recurring (Bug #14249). @@ -2680,7 +2680,7 @@ 2016-02-10 GPL-2.0 -* +* [jan] Handle gracefully if the base event of an imported recurrence exception is no longer recurring (Bug #14249).