[CalendarServer-changes] [13193] CalendarServer/trunk/txdav/caldav/datastore/scheduling/icaldiff.py
source_changes at macosforge.org
source_changes at macosforge.org
Tue Apr 8 09:23:42 PDT 2014
Revision: 13193
http://trac.calendarserver.org//changeset/13193
Author: cdaboo at apple.com
Date: 2014-04-08 09:23:41 -0700 (Tue, 08 Apr 2014)
Log Message:
-----------
MAke sure that attendee change is properly merge with If-Schedule-Tag-Match.
Modified Paths:
--------------
CalendarServer/trunk/txdav/caldav/datastore/scheduling/icaldiff.py
Modified: CalendarServer/trunk/txdav/caldav/datastore/scheduling/icaldiff.py
===================================================================
--- CalendarServer/trunk/txdav/caldav/datastore/scheduling/icaldiff.py 2014-04-08 16:22:27 UTC (rev 13192)
+++ CalendarServer/trunk/txdav/caldav/datastore/scheduling/icaldiff.py 2014-04-08 16:23:41 UTC (rev 13193)
@@ -342,8 +342,20 @@
else:
# We used to generate a 403 here - but instead we now ignore this error and let the server data
- # override the client
- self._logDiffError("attendeeMerge: Missing uncancelled component from first calendar: %s" % (key,))
+ # override the client.
+
+ # If smart_merge is happening, then derive an instance in the new data as the change in the old
+ # data is valid and likely due to some other attendee changing their status.
+ if self.smart_merge:
+ newOverride = self.newcalendar.deriveInstance(rid, allowCancelled=True)
+ if newOverride is None:
+ self._logDiffError("attendeeMerge: Could not derive instance for uncancelled component: %s" % (key,))
+ else:
+ self.newcalendar.addComponent(newOverride)
+ setnew.add(key)
+ mapnew[key] = newOverride
+ else:
+ self._logDiffError("attendeeMerge: Missing uncancelled component from first calendar: %s" % (key,))
else:
if exdatesnew is not None and rid not in exdatesnew:
# We used to generate a 403 here - but instead we now ignore this error and let the server data
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140408/19fd6cd1/attachment.html>
More information about the calendarserver-changes
mailing list