[CalendarServer-changes] [15513] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Mon Apr 18 08:20:08 PDT 2016


Revision: 15513
          http://trac.calendarserver.org//changeset/15513
Author:   cdaboo at apple.com
Date:     2016-04-18 08:20:08 -0700 (Mon, 18 Apr 2016)
Log Message:
-----------
Make sure CS:record-type property is properly returned on a proxy resource.

Modified Paths:
--------------
    CalendarServer/trunk/requirements-dev.txt
    CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py

Modified: CalendarServer/trunk/requirements-dev.txt
===================================================================
--- CalendarServer/trunk/requirements-dev.txt	2016-04-18 15:12:49 UTC (rev 15512)
+++ CalendarServer/trunk/requirements-dev.txt	2016-04-18 15:20:08 UTC (rev 15513)
@@ -5,4 +5,4 @@
 q
 tl.eggdeps
 --editable svn+http://svn.calendarserver.org/repository/calendarserver/CalDAVClientLibrary/trunk@15425#egg=CalDAVClientLibrary
---editable svn+http://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk@15504#egg=CalDAVTester
+--editable svn+http://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk@15512#egg=CalDAVTester

Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py	2016-04-18 15:12:49 UTC (rev 15512)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py	2016-04-18 15:20:08 UTC (rev 15513)
@@ -32,9 +32,13 @@
 
 from twext.python.log import Logger
 from twext.who.idirectory import RecordType as BaseRecordType
+
 from twisted.internet.defer import succeed, inlineCallbacks, returnValue
 from twisted.python.modules import getModule
 from twisted.web.template import XMLFile, Element, renderer
+
+from twistedcaldav import customxml
+from twistedcaldav.customxml import calendarserver_namespace
 from twistedcaldav.config import config, fullServerPath
 from twistedcaldav.database import (
     AbstractADBAPIDatabase, ADBAPISqliteMixin, ADBAPIPostgreSQLMixin
@@ -43,7 +47,6 @@
 from twistedcaldav.directory.util import (
     formatLink, formatLinks, formatPrincipals
 )
-
 from twistedcaldav.extensions import (
     DAVPrincipalResource, DAVResourceWithChildrenMixin
 )
@@ -51,9 +54,11 @@
 from twistedcaldav.extensions import ReadOnlyWritePropertiesResourceMixIn
 from twistedcaldav.memcacher import Memcacher
 from twistedcaldav.resource import CalDAVComplianceMixIn
+
 from txdav.who.delegates import RecordType as DelegateRecordType
 from txdav.xml import element as davxml
 from txdav.xml.base import dav_namespace
+
 from txweb2 import responsecode
 from txweb2.dav.noneprops import NonePropertyStore
 from txweb2.dav.util import joinURL
@@ -262,6 +267,33 @@
         return self._dead_properties
 
 
+    @inlineCallbacks
+    def readProperty(self, property, request):
+        if type(property) is tuple:
+            qname = property
+        else:
+            qname = property.qname()
+
+        namespace, name = qname
+
+        if namespace == calendarserver_namespace:
+            if name == "record-type":
+                if hasattr(self.parent, "record"):
+                    returnValue(
+                        customxml.RecordType(
+                            self._recordTypeFromProxyType().description
+                        )
+                    )
+                else:
+                    raise HTTPError(StatusResponse(
+                        responsecode.NOT_FOUND,
+                        "Property %s does not exist." % (qname,)
+                    ))
+
+        result = (yield super(CalendarUserProxyPrincipalResource, self).readProperty(property, request))
+        returnValue(result)
+
+
     def writeProperty(self, property, request):
         assert isinstance(property, davxml.WebDAVElement)
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20160418/bd27c8f7/attachment-0001.html>


More information about the calendarserver-changes mailing list