[CalendarServer-changes] [5760] CalendarServer/branches/new-store/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Wed Jun 16 17:20:35 PDT 2010
Revision: 5760
http://trac.macosforge.org/projects/calendarserver/changeset/5760
Author: glyph at apple.com
Date: 2010-06-16 17:20:35 -0700 (Wed, 16 Jun 2010)
Log Message:
-----------
implicitdefaultcalendar fixes
Modified Paths:
--------------
CalendarServer/branches/new-store/twistedcaldav/schedule.py
CalendarServer/branches/new-store/twistedcaldav/storebridge.py
Modified: CalendarServer/branches/new-store/twistedcaldav/schedule.py
===================================================================
--- CalendarServer/branches/new-store/twistedcaldav/schedule.py 2010-06-17 00:05:29 UTC (rev 5759)
+++ CalendarServer/branches/new-store/twistedcaldav/schedule.py 2010-06-17 00:20:35 UTC (rev 5760)
@@ -130,7 +130,7 @@
values = []
for cal in self.parent._newStoreCalendarHome.calendars():
prop = cal.properties().get(PropertyName.fromString(ScheduleCalendarTransp.sname()))
- if prop is None or prop == ScheduleCalendarTransp(Opaque()):
+ if prop == ScheduleCalendarTransp(Opaque()):
values.append(HRef(joinURL(top, cal.name())))
returnValue(CalendarFreeBusySet(*values))
elif qname == (caldav_namespace, "schedule-default-calendar-URL"):
@@ -231,16 +231,32 @@
First see if "calendar" exists in the calendar home and pick that. Otherwise
create "calendar" in the calendar home.
"""
-
calendarHomeURL = self.parent.url()
- defaultCalendarURL = (yield joinURL(calendarHomeURL, "calendar"))
+ defaultCalendarURL = joinURL(calendarHomeURL, "calendar")
defaultCalendar = (yield request.locateResource(defaultCalendarURL))
if defaultCalendar is None or not defaultCalendar.exists():
- self.parent.provisionDefaultCalendars()
- else:
- self.writeDeadProperty(caldavxml.ScheduleDefaultCalendarURL(davxml.HRef(defaultCalendarURL)))
- returnValue(caldavxml.ScheduleDefaultCalendarURL(davxml.HRef(defaultCalendarURL)))
+ getter = iter(self.parent._newStoreCalendarHome)
+ # FIXME: the back-end should re-provision a default calendar here.
+ # Really, the dead property shouldn't be necessary, and this should
+ # be entirely computed by a back-end method like 'defaultCalendar()'
+ try:
+ aCalendar = getter.next()
+ except StopIteration:
+ raise RuntimeError("No calendars at all.")
+ # That won't help...
+ # self.parent.provisionDefaultCalendars()
+ defaultCalendarURL = joinURL(calendarHomeURL, aCalendar.name())
+
+ self.writeDeadProperty(
+ caldavxml.ScheduleDefaultCalendarURL(
+ davxml.HRef(defaultCalendarURL)
+ )
+ )
+ returnValue(caldavxml.ScheduleDefaultCalendarURL(
+ davxml.HRef(defaultCalendarURL))
+ )
+
class ScheduleOutboxResource (CalendarSchedulingCollectionResource):
"""
CalDAV schedule Outbox resource.
Modified: CalendarServer/branches/new-store/twistedcaldav/storebridge.py
===================================================================
--- CalendarServer/branches/new-store/twistedcaldav/storebridge.py 2010-06-17 00:05:29 UTC (rev 5759)
+++ CalendarServer/branches/new-store/twistedcaldav/storebridge.py 2010-06-17 00:20:35 UTC (rev 5760)
@@ -236,6 +236,7 @@
Moving a calendar collection is allowed for the purposes of changing
that calendar's name.
"""
+ defaultCalendar = (yield self.isDefaultCalendar(request))
# FIXME: created to fix CDT test, no unit tests yet
sourceURI = request.uri
destinationURI = urlsplit(request.headers.getHeader("destination"))[2]
@@ -250,6 +251,8 @@
self._newStoreParentHome)
del self._newStoreCalendar
self.__class__ = ProtoCalendarCollectionFile
+ self.movedCalendar(request, defaultCalendar,
+ destination, destinationURI)
returnValue(NO_CONTENT)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100616/8a97af56/attachment-0001.html>
More information about the calendarserver-changes
mailing list