[CalendarServer-changes] [5551] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Fri Apr 30 09:44:33 PDT 2010
Revision: 5551
http://trac.macosforge.org/projects/calendarserver/changeset/5551
Author: cdaboo at apple.com
Date: 2010-04-30 09:44:31 -0700 (Fri, 30 Apr 2010)
Log Message:
-----------
Make shared calendar resource a link resource. Fix write proxy/sharing privileges.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/linkresource.py
CalendarServer/trunk/twistedcaldav/sharedcalendar.py
CalendarServer/trunk/twistedcaldav/sharing.py
Modified: CalendarServer/trunk/twistedcaldav/linkresource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/linkresource.py 2010-04-30 16:42:52 UTC (rev 5550)
+++ CalendarServer/trunk/twistedcaldav/linkresource.py 2010-04-30 16:44:31 UTC (rev 5551)
@@ -73,7 +73,7 @@
return self.linkedResource(request)
def getChild(self, name):
- return self._hostedResource.getChild(name)
+ return self._linkedResource.getChild(name)
@inlineCallbacks
def hasProperty(self, property, request):
Modified: CalendarServer/trunk/twistedcaldav/sharedcalendar.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/sharedcalendar.py 2010-04-30 16:42:52 UTC (rev 5550)
+++ CalendarServer/trunk/twistedcaldav/sharedcalendar.py 2010-04-30 16:44:31 UTC (rev 5551)
@@ -14,13 +14,9 @@
# limitations under the License.
##
-from twext.python.log import LoggingMixIn
-
from twisted.internet.defer import inlineCallbacks, returnValue
-from twistedcaldav.extensions import DAVResource
-from twistedcaldav.resource import CalDAVComplianceMixIn
-from twistedcaldav.sharing import SharedCollectionMixin
+from twistedcaldav.linkresource import LinkResource
__all__ = [
"SharedCalendarResource",
@@ -30,56 +26,20 @@
Sharing behavior
"""
-class SharedCalendarResource(CalDAVComplianceMixIn, SharedCollectionMixin, DAVResource, LoggingMixIn):
+class SharedCalendarResource(LinkResource):
"""
This is similar to a WrapperResource except that we locate our shared calendar resource dynamically.
"""
def __init__(self, parent, share):
- self.parent = parent
self.share = share
- super(SharedCalendarResource, self).__init__(self.parent.principalCollections())
+ super(SharedCalendarResource, self).__init__(parent, None)
@inlineCallbacks
- def hostedResource(self, request):
+ def linkedResource(self, request):
- if not hasattr(self, "_hostedResource"):
- self._hostedResource = (yield request.locateResource(self.share.hosturl))
+ if not hasattr(self, "_linkedResource"):
+ self._linkedResource = (yield request.locateResource(self.share.hosturl))
ownerPrincipal = (yield self.parent.ownerPrincipal(request))
- self._hostedResource.setVirtualShare(ownerPrincipal, self.share)
- returnValue(self._hostedResource)
-
- def isCollection(self):
- return True
-
- def locateChild(self, request, segments):
-
- def _defer(result):
- return (result, segments)
- d = self.hostedResource(request)
- d.addCallback(_defer)
- return d
-
- def renderHTTP(self, request):
- return self.hostedResource(request)
-
- def getChild(self, name):
- return self._hostedResource.getChild(name)
-
- @inlineCallbacks
- def hasProperty(self, property, request):
- hosted = (yield self.hostedResource(request))
- result = (yield hosted.hasProperty(property, request))
- returnValue(result)
-
- @inlineCallbacks
- def readProperty(self, property, request):
- hosted = (yield self.hostedResource(request))
- result = (yield hosted.readProperty(property, request))
- returnValue(result)
-
- @inlineCallbacks
- def writeProperty(self, property, request):
- hosted = (yield self.hostedResource(request))
- result = (yield hosted.writeProperty(property, request))
- returnValue(result)
+ self._linkedResource.setVirtualShare(ownerPrincipal, self.share)
+ returnValue(self._linkedResource)
Modified: CalendarServer/trunk/twistedcaldav/sharing.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/sharing.py 2010-04-30 16:42:52 UTC (rev 5550)
+++ CalendarServer/trunk/twistedcaldav/sharing.py 2010-04-30 16:44:31 UTC (rev 5551)
@@ -237,9 +237,7 @@
# DAV:read/DAV:read-current-user-privilege-set/DAV:write access for this principal's calendar-proxy-write users.
davxml.ACE(
davxml.Principal(davxml.HRef(joinURL(self._shareePrincipal.principalURL(), "calendar-proxy-write/"))),
- davxml.Grant(
- davxml.Privilege(*proxyprivs),
- ),
+ davxml.Grant(*proxyprivs),
davxml.Protected(),
TwistedACLInheritable(),
),
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100430/7c92406c/attachment.html>
More information about the calendarserver-changes
mailing list