[CalendarServer-changes] [9540] CalendarServer/trunk/twistedcaldav/scheduling

source_changes at macosforge.org source_changes at macosforge.org
Tue Aug 7 17:42:15 PDT 2012


Revision: 9540
          http://trac.macosforge.org/projects/calendarserver/changeset/9540
Author:   cdaboo at apple.com
Date:     2012-08-07 17:42:15 -0700 (Tue, 07 Aug 2012)
Log Message:
-----------
Fix case where an attendee is removed from a non-overridden instance and no cancel was sent.

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

Modified: CalendarServer/trunk/twistedcaldav/scheduling/implicit.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/scheduling/implicit.py	2012-08-08 00:41:22 UTC (rev 9539)
+++ CalendarServer/trunk/twistedcaldav/scheduling/implicit.py	2012-08-08 00:42:15 UTC (rev 9540)
@@ -404,6 +404,7 @@
         
         # Get the ATTENDEEs
         self.attendeesByInstance = self.calendar.getAttendeesByInstance(True, onlyScheduleAgentServer=True)
+        self.instances = set(self.calendar.getComponentInstances())
         self.attendees = set()
         for attendee, _ignore in self.attendeesByInstance:
             self.attendees.add(attendee)
@@ -530,6 +531,7 @@
             # Read in existing data
             self.oldcalendar = (yield self.resource.iCalendarForUser(self.request))
             self.oldAttendeesByInstance = self.oldcalendar.getAttendeesByInstance(True, onlyScheduleAgentServer=True)
+            self.oldInstances = set(self.oldcalendar.getComponentInstances())
             self.coerceAttendeesPartstatOnModify()
             
             # Don't allow any SEQUENCE to decrease
@@ -705,10 +707,8 @@
         mappedNew = set(self.attendeesByInstance)
         
         # Get missing instances
-        oldInstances = set(self.oldcalendar.getComponentInstances())
-        newInstances = set(self.calendar.getComponentInstances())
-        removedInstances = oldInstances - newInstances
-        addedInstances = newInstances - oldInstances
+        removedInstances = self.oldInstances - self.instances
+        addedInstances = self.instances - self.oldInstances
 
         # Also look for new EXDATEs
         oldexdates = set()

Modified: CalendarServer/trunk/twistedcaldav/scheduling/test/test_implicit.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/scheduling/test/test_implicit.py	2012-08-08 00:41:22 UTC (rev 9539)
+++ CalendarServer/trunk/twistedcaldav/scheduling/test/test_implicit.py	2012-08-08 00:42:15 UTC (rev 9540)
@@ -778,6 +778,7 @@
             scheduler.request = None
             scheduler.oldcalendar = Component.fromString(calendar1)
             scheduler.oldAttendeesByInstance = scheduler.oldcalendar.getAttendeesByInstance(True, onlyScheduleAgentServer=True)
+            scheduler.oldInstances = set(scheduler.oldcalendar.getComponentInstances())
             scheduler.calendar = Component.fromString(calendar2)
             scheduler.extractCalendarData()
             scheduler.findRemovedAttendees()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120807/510df365/attachment.html>


More information about the calendarserver-changes mailing list