[CalendarServer-changes] [4888] CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/ scheduling
source_changes at macosforge.org
source_changes at macosforge.org
Tue Dec 22 08:17:35 PST 2009
Revision: 4888
http://trac.macosforge.org/projects/calendarserver/changeset/4888
Author: cdaboo at apple.com
Date: 2009-12-22 08:17:35 -0800 (Tue, 22 Dec 2009)
Log Message:
-----------
Fix implicit refreshes across partitions.
Modified Paths:
--------------
CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/implicit.py
CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/scheduler.py
Modified: CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/implicit.py
===================================================================
--- CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/implicit.py 2009-12-22 16:16:03 UTC (rev 4887)
+++ CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/implicit.py 2009-12-22 16:17:35 UTC (rev 4888)
@@ -32,12 +32,11 @@
from twistedcaldav.method import report_common
from twistedcaldav.scheduling import addressmapping
from twistedcaldav.scheduling.cuaddress import InvalidCalendarUser,\
- LocalCalendarUser
+ LocalCalendarUser, PartitionedCalendarUser
from twistedcaldav.scheduling.icaldiff import iCalDiff
from twistedcaldav.scheduling.itip import iTipGenerator, iTIPRequestStatus
from twistedcaldav.scheduling.scheduler import CalDAVScheduler
from twistedcaldav.scheduling.utils import getCalendarObjectForPrincipals
-from twistedcaldav.directory.principal import DirectoryCalendarPrincipalResource
__all__ = [
"ImplicitScheduler",
@@ -853,6 +852,10 @@
calendar_resource, _ignore_name, _ignore_collection, _ignore_uri = (yield getCalendarObjectForPrincipals(self.request, self.organizerPrincipal, self.uid))
if calendar_resource:
self.organizer_calendar = calendar_resource.iCalendar()
+ elif isinstance(self.organizerAddress, PartitionedCalendarUser):
+ # For partitioning where the organizer is on a different node, we will assume that the attendee's copy
+ # of the event is up to date and "authoritative". So we pretend that is the organizer copy
+ self.organizer_calendar = self.oldcalendar
def isAttendeeChangeInsignificant(self):
"""
Modified: CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/scheduler.py
===================================================================
--- CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/scheduler.py 2009-12-22 16:16:03 UTC (rev 4887)
+++ CalendarServer/branches/users/cdaboo/partition-4464/twistedcaldav/scheduling/scheduler.py 2009-12-22 16:17:35 UTC (rev 4888)
@@ -417,7 +417,7 @@
# Now process partitioned recipients
if partitioned_recipients:
- yield self.generateRemoteSchedulingResponses(partitioned_recipients, responses, freebusy, getattr(self.request, 'suppressRefresh', False))
+ yield self.generateRemoteSchedulingResponses(partitioned_recipients, responses, freebusy, getattr(self.request, 'doing_attendee_refresh', False))
# To reduce chatter, we suppress certain messages
if not getattr(self.request, 'suppressRefresh', False):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091222/f66eac31/attachment.html>
More information about the calendarserver-changes
mailing list