[CalendarServer-changes] [617]
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/
directory/principal.py
source_changes at macosforge.org
source_changes at macosforge.org
Tue Nov 28 17:54:25 PST 2006
Revision: 617
http://trac.macosforge.org/projects/calendarserver/changeset/617
Author: wsanchez at apple.com
Date: 2006-11-28 17:54:24 -0800 (Tue, 28 Nov 2006)
Log Message:
-----------
Add defaultAccessControlList() to DirectoryPrincipalResource.
Implement defaultAccessControlList() in all classes to return a shared ACE instance.
Modified Paths:
--------------
CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/principal.py
Modified: CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/principal.py 2006-11-29 01:46:54 UTC (rev 616)
+++ CalendarServer/branches/users/wsanchez/provisioning-2/twistedcaldav/directory/principal.py 2006-11-29 01:54:24 UTC (rev 617)
@@ -77,6 +77,19 @@
self.putChild(name, DirectoryPrincipalTypeResource(child_fp.path, self, name))
+ def principalForUser(self, user):
+ return self.getChild("user").getChild(user)
+
+ def principalForRecord(self, record):
+ typeResource = self.getChild(record.recordType)
+ if typeResource is None:
+ return None
+ return typeResource.getChild(record.shortName)
+
+ ##
+ # Static
+ ##
+
def createSimilarFile(self, path):
raise HTTPError(responsecode.NOT_FOUND)
@@ -90,31 +103,15 @@
def listChildren(self):
return self.putChildren.keys()
- def principalForUser(self, user):
- return self.getChild("user").getChild(user)
+ ##
+ # ACL
+ ##
- def principalForRecord(self, record):
- typeResource = self.getChild(record.recordType)
- if typeResource is None:
- return None
- return typeResource.getChild(record.shortName)
-
def principalCollections(self, request):
return succeed((self.principalCollectionURL(),))
- ##
- # ACL
- ##
-
def defaultAccessControlList(self):
- return davxml.ACL(
- # Read access for authenticated users.
- davxml.ACE(
- davxml.Principal(davxml.Authenticated()),
- davxml.Grant(davxml.Privilege(davxml.Read())),
- davxml.Protected(),
- ),
- )
+ return authReadACL
class DirectoryPrincipalTypeResource (ReadOnlyResourceMixIn, CalendarPrincipalCollectionResource, DAVFile):
"""
@@ -133,6 +130,16 @@
self.recordType = recordType
self._parent = parent
+ def principalForUser(self, user):
+ return self._parent.principalForUser(user)
+
+ def principalForRecord(self, record):
+ return self._parent.principalForRecord(record)
+
+ ##
+ # Static
+ ##
+
def createSimilarFile(self, path):
raise HTTPError(responsecode.NOT_FOUND)
@@ -162,28 +169,15 @@
def listChildren(self):
return (record.shortName for record in self.directory.listRecords(self.recordType))
- def principalForUser(self, user):
- return self._parent.principalForUser(user)
+ ##
+ # ACL
+ ##
- def principalForRecord(self, record):
- return self._parent.principalForRecord(record)
-
def principalCollections(self, request):
return self._parent.principalCollections(request)
- ##
- # ACL
- ##
-
def defaultAccessControlList(self):
- return davxml.ACL(
- # Read access for authenticated users.
- davxml.ACE(
- davxml.Principal(davxml.Authenticated()),
- davxml.Grant(davxml.Privilege(davxml.Read())),
- davxml.Protected(),
- ),
- )
+ return authReadACL
class DirectoryPrincipalResource (ReadOnlyResourceMixIn, CalendarPrincipalFile):
"""
@@ -291,6 +285,9 @@
def principalCollections(self, request):
return self._parent.principalCollections(request)
+ def defaultAccessControlList(self):
+ return authReadACL
+
##
# CalDAV
##
@@ -324,3 +321,12 @@
return joinURL(homes[0], name)
else:
return None
+
+authReadACL = davxml.ACL(
+ # Read access for authenticated users.
+ davxml.ACE(
+ davxml.Principal(davxml.Authenticated()),
+ davxml.Grant(davxml.Privilege(davxml.Read())),
+ davxml.Protected(),
+ ),
+)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061128/e546119f/attachment.html
More information about the calendarserver-changes
mailing list