[Zope-Checkins] CVS: Zope/lib/python/AccessControl - Role.py:1.56.14.4

Andreas Jung andreas at andreas-jung.com
Tue May 4 03:41:04 EDT 2004


Update of /cvs-repository/Zope/lib/python/AccessControl
In directory cvs.zope.org:/tmp/cvs-serv728/lib/python/AccessControl

Modified Files:
      Tag: Zope-2_7-branch
	Role.py 
Log Message:
     - AccessControl/Role.py: permission_settings() has a new optional
       parameter 'permission' to retrieve the settings for a specific
       permission. 


=== Zope/lib/python/AccessControl/Role.py 1.56.14.3 => 1.56.14.4 ===
--- Zope/lib/python/AccessControl/Role.py:1.56.14.3	Mon Apr 26 04:43:32 2004
+++ Zope/lib/python/AccessControl/Role.py	Tue May  4 03:40:54 2004
@@ -90,14 +90,22 @@
 
         return tuple(r)
 
-    def permission_settings(self):
-        """Return user-role permission settings
+    def permission_settings(self, permission=None):
+        """Return user-role permission settings. If 'permission' 
+           is passed to the method then only the settings for 'permission'
+           is returned.
         """
         result=[]
         valid=self.valid_roles()
         indexes=range(len(valid))
         ip=0
-        for p in self.ac_inherited_permissions(1):
+
+        permissions = self.ac_inherited_permissions(1)
+        # Filter permissions
+        if permission:
+            permissions = [p for p in permissions if p[0] == permission]
+
+        for p in permissions:
             name, value = p[:2]
             p=Permission(name,value,self)
             roles=p.getRoles(default=[])




More information about the Zope-Checkins mailing list