[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