[CalendarServer-changes] [3713] CalendarServer/trunk/calendarserver/webcal/resource.py
source_changes at macosforge.org
source_changes at macosforge.org
Mon Feb 23 15:35:29 PST 2009
Revision: 3713
http://trac.macosforge.org/projects/calendarserver/changeset/3713
Author: wsanchez at apple.com
Date: 2009-02-23 15:35:28 -0800 (Mon, 23 Feb 2009)
Log Message:
-----------
Substitute the correct principal URL
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/webcal/resource.py
Modified: CalendarServer/trunk/calendarserver/webcal/resource.py
===================================================================
--- CalendarServer/trunk/calendarserver/webcal/resource.py 2009-02-23 23:03:54 UTC (rev 3712)
+++ CalendarServer/trunk/calendarserver/webcal/resource.py 2009-02-23 23:35:28 UTC (rev 3713)
@@ -25,10 +25,24 @@
from twisted.web2 import responsecode
from twisted.web2.http import Response
from twisted.web2.http_headers import MimeType
-from twisted.web2.static import File as FileResource
from twisted.web2.stream import MemoryStream
+from twisted.web2.dav import davxml
+from twisted.web2.dav.static import DAVFile
-class WebCalendarResource (FileResource):
+from twistedcaldav.extensions import ReadOnlyResourceMixIn
+
+class WebCalendarResource (ReadOnlyResourceMixIn, DAVFile):
+ def defaultAccessControlList(self):
+ return davxml.ACL(
+ davxml.ACE(
+ davxml.Principal(davxml.Authenticated()),
+ davxml.Grant(
+ davxml.Privilege(davxml.Read()),
+ ),
+ davxml.Protected(),
+ ),
+ )
+
def etag(self):
# Can't be calculated here
return None
@@ -53,12 +67,16 @@
return None
def createSimilarFile(self, path):
- return FileResource(path)
+ return DAVFile(path)
def render(self, request):
if not self.fp.isdir():
return responsecode.NOT_FOUND
+ self.authenticate(request)
+
+ authenticatedPrincipalURL = str(request.authnUser.childOfType(davxml.HRef))
+
data = """
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
@@ -100,7 +118,7 @@
</html>
""" % {
"timeZone": "America/Los_Angeles",
- "principalURL": "/principals/users/admin/",
+ "principalURL": authenticatedPrincipalURL,
"debug": "true",
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090223/4fbe5a68/attachment.html>
More information about the calendarserver-changes
mailing list