[CalendarServer-changes] [7967] CalendarServer/branches/users/glyph/imip-and-admin-html/ calendarserver/webadmin
source_changes at macosforge.org
source_changes at macosforge.org
Thu Aug 11 21:52:45 PDT 2011
Revision: 7967
http://trac.macosforge.org/projects/calendarserver/changeset/7967
Author: glyph at apple.com
Date: 2011-08-11 21:52:45 -0700 (Thu, 11 Aug 2011)
Log Message:
-----------
new renderer actually has better behavior for not-found properties
Modified Paths:
--------------
CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py
CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/test/test_resource.py
Modified: CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py
===================================================================
--- CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py 2011-08-12 04:52:33 UTC (rev 7966)
+++ CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py 2011-08-12 04:52:45 UTC (rev 7967)
@@ -42,6 +42,7 @@
from twext.web2.http_headers import MimeType
from zope.interface.declarations import implements
from twext.web2.stream import MemoryStream
+from twext.web2.http import HTTPError
from twext.web2.dav import davxml
from twisted.web.iweb import ITemplateLoader
@@ -235,10 +236,16 @@
name.
"""
if self.error is None:
- propval = yield self.principalResource.readProperty(
- (self.namespace, self.name), request
- )
- returnValue(tag.fillSlots(value=propval.toxml()))
+ try:
+ propval = yield self.principalResource.readProperty(
+ (self.namespace, self.name), request
+ )
+ except HTTPError:
+ propval = "No such property: " + "#".join([self.namespace,
+ self.name])
+ else:
+ propval = propval.toxml()
+ returnValue(tag.fillSlots(value=propval))
else:
returnValue("")
Modified: CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/test/test_resource.py
===================================================================
--- CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/test/test_resource.py 2011-08-12 04:52:33 UTC (rev 7966)
+++ CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/test/test_resource.py 2011-08-12 04:52:45 UTC (rev 7967)
@@ -417,3 +417,20 @@
returnValue((yield super(NewRenderingTests, self).renderPage(args)))
+ @inlineCallbacks
+ def test_noDavProperty(self):
+ """
+ When a DAV property is not found, an error will be displayed.
+ """
+ self.resource.getResourceById = partial(FakePrincipalResource, self)
+ document = yield self.renderPage(
+ dict(resourceId=["qux"],
+ davPropertyName=["DAV:#blub"])
+ )
+ propertyName = document.getElementById('txt_davPropertyName')
+ self.assertEquals(propertyName.getAttribute("value"),
+ "DAV:#blub")
+ propertyValue = "No such property: DAV:#blub"
+ self.assertIn(cgi.escape(propertyValue),
+ gatherTextNodes(document))
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110811/b5d38198/attachment.html>
More information about the calendarserver-changes
mailing list