[CalendarServer-changes] [10862] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 5 18:45:49 PST 2013


Revision: 10862
          http://trac.calendarserver.org//changeset/10862
Author:   cdaboo at apple.com
Date:     2013-03-05 18:45:48 -0800 (Tue, 05 Mar 2013)
Log Message:
-----------
Handle removal of an overridden instance that forces a reschedule of the original instance.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/ical.py
    CalendarServer/trunk/twistedcaldav/scheduling/implicit.py

Modified: CalendarServer/trunk/twistedcaldav/ical.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/ical.py	2013-03-06 02:43:34 UTC (rev 10861)
+++ CalendarServer/trunk/twistedcaldav/ical.py	2013-03-06 02:45:48 UTC (rev 10862)
@@ -1281,7 +1281,7 @@
         is added as STATUS:CANCELLED and the EXDATE removed.
 
         @param rid: recurrence-id value
-        @type rid: L{PyCalendarDateTime}
+        @type rid: L{PyCalendarDateTime} or C{str}
         @param allowCancelled: whether to allow a STATUS:CANCELLED override
         @type allowCancelled: C{bool}
 
@@ -1296,6 +1296,9 @@
         if master is None:
             return None
 
+        if isinstance(rid, str):
+            rid = PyCalendarDateTime.parseText(rid) if rid else None
+
         # TODO: Check that the recurrence-id is a valid instance
         # For now we just check that there is no matching EXDATE
         didCancel = False

Modified: CalendarServer/trunk/twistedcaldav/scheduling/implicit.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/scheduling/implicit.py	2013-03-06 02:43:34 UTC (rev 10861)
+++ CalendarServer/trunk/twistedcaldav/scheduling/implicit.py	2013-03-06 02:45:48 UTC (rev 10862)
@@ -597,6 +597,9 @@
 
                 for rid in self.needs_action_rids:
                     comp = self.calendar.overriddenComponent(rid)
+                    if comp is None:
+                        comp = self.calendar.deriveInstance(rid)
+                        self.calendar.addComponent(comp)
 
                     for attendee in comp.getAllAttendeeProperties():
                         if attendee.hasParameter("PARTSTAT"):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130305/9e0b27f6/attachment.html>


More information about the calendarserver-changes mailing list