[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