[Erp5-report] r8819 - /erp5/trunk/products/ERP5Type/ERP5Type.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jul 27 06:20:57 CEST 2006


Author: yo
Date: Thu Jul 27 06:20:53 2006
New Revision: 8819

URL: http://svn.erp5.org?rev=8819&view=rev
Log:
Rename object to ob, because object is a builtin name.

Modified:
    erp5/trunk/products/ERP5Type/ERP5Type.py

Modified: erp5/trunk/products/ERP5Type/ERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/ERP5Type.py?rev=8819&r1=8818&r2=8819&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/ERP5Type.py (original)
+++ erp5/trunk/products/ERP5Type/ERP5Type.py Thu Jul 27 06:20:53 2006
@@ -266,7 +266,7 @@
 
     security.declareProtected(ERP5Permissions.ModifyPortalContent,
                               'assignRoleToSecurityGroup')
-    def assignRoleToSecurityGroup(self, object, user_name = None):
+    def assignRoleToSecurityGroup(self, ob, user_name = None):
       """
         Assign Local Roles to Groups on object, based on Portal Type
         Role Definitions
@@ -276,7 +276,7 @@
       if user_name is None:
         # First try to guess from the owner
         try:
-          user_name = object.getOwnerInfo()['id']
+          user_name = ob.getOwnerInfo()['id']
         except AttributeError:
           pass
       if user_name is None:
@@ -291,15 +291,15 @@
                 'Please install it to benefit from group-based security'
 
       # Retrieve applicable roles
-      role_mapping = self.getFilteredRoleListFor(object=object) # kw provided in order to take any appropriate action
+      role_mapping = self.getFilteredRoleListFor(ob=ob) # kw provided in order to take any appropriate action
       #LOG('ERP5TypeInformation', 0, 'role_mapping = %r, object = %r' % (role_mapping, object))
 
       # Create an empty local Role Definition dict
       role_category_list_dict = {}
 
       # Fill it with explicit local roles defined as subobjects of current object
-      if getattr(aq_base(object), 'isPrincipiaFolderish', 0):
-        for roledef in object.objectValues(spec = 'ERP5 Role Definition'):
+      if getattr(aq_base(ob), 'isPrincipiaFolderish', 0):
+        for roledef in ob.objectValues(spec = 'ERP5 Role Definition'):
           role_category_list_dict.setdefault(roledef.getRoleName(), []).append(
                             {
                                 'category_order'  : ['agent'],
@@ -325,10 +325,10 @@
           # get the script and apply it if dynamic_base_category_list is not empty
           if len(dynamic_base_category_list) > 0:
             base_category_script_id = definition['base_category_script']
-            base_category_script = getattr(object, base_category_script_id, None)
+            base_category_script = getattr(ob, base_category_script_id, None)
             if base_category_script is not None:
               # call the script, which should return either a dict or a list of dicts
-              category_result = base_category_script(dynamic_base_category_list, user_name, object, object.getPortalType())
+              category_result = base_category_script(dynamic_base_category_list, user_name, ob, ob.getPortalType())
               #LOG('ERP5TypeInformation', 0, 'category_result = %r' % (category_result,))
               # If we decide in the script that we don't want to update the security for this object,
               # we can just have it return None instead of a dict or list of dicts
@@ -356,7 +356,7 @@
 
       # Generate security group ids from category_value_dicts
       role_group_id_dict = {}
-      group_id_generator = getattr(object, ERP5TYPE_SECURITY_GROUP_ID_GENERATION_SCRIPT, None)
+      group_id_generator = getattr(ob, ERP5TYPE_SECURITY_GROUP_ID_GENERATION_SCRIPT, None)
       if group_id_generator is None:
         raise RuntimeError, '%s script was not found' % ERP5TYPE_SECURITY_GROUP_ID_GENERATION_SCRIPT
       for role, value_list in role_category_list_dict.items():
@@ -384,8 +384,8 @@
       # Update role assignments to groups
       if ERP5UserManager is not None: # Default implementation
         # Clean old group roles
-        old_group_list = object.get_local_roles()
-        object.manage_delLocalRoles([x[0] for x in old_group_list])
+        old_group_list = ob.get_local_roles()
+        ob.manage_delLocalRoles([x[0] for x in old_group_list])
         # Save the owner
         for group, role_list in old_group_list:
           if 'Owner' in role_list:
@@ -395,13 +395,13 @@
               group_id_role_dict[group].append('Owner')
         # Assign new roles
         for group, role_list in group_id_role_dict.items():
-          object.manage_addLocalRoles(group, role_list)
+          ob.manage_addLocalRoles(group, role_list)
       else: # NuxUserGroups implementation
         # Clean old group roles
-        old_group_list = object.get_local_group_roles()
+        old_group_list = ob.get_local_group_roles()
         # We duplicate role settings to mimic PAS
-        object.manage_delLocalGroupRoles([x[0] for x in old_group_list])
-        object.manage_delLocalRoles([x[0] for x in old_group_list])
+        ob.manage_delLocalGroupRoles([x[0] for x in old_group_list])
+        ob.manage_delLocalRoles([x[0] for x in old_group_list])
         # Save the owner
         for group, role_list in old_group_list:
           if 'Owner' in role_list:
@@ -412,20 +412,25 @@
         # Assign new roles
         for group, role_list in group_id_role_dict.items():
           # We duplicate role settings to mimic PAS
-          object.manage_addLocalGroupRoles(group, role_list)
-          object.manage_addLocalRoles(group, role_list)
+          ob.manage_addLocalGroupRoles(group, role_list)
+          ob.manage_addLocalRoles(group, role_list)
 
     security.declarePublic('getFilteredRoleListFor')
-    def getFilteredRoleListFor(self, object=None, **kw):
+    def getFilteredRoleListFor(self, ob=None, **kw):
         """
         Return a mapping containing of all roles applicable to the
         object against user.
         """
+        # This is only for backward-compatibility. The keyword parameter
+        # took object instead of ob in the old implementation.
+        if ob is None:
+          ob = kw.get('object')
+
         portal = self.portal_url.getPortalObject()
-        if object is None:
+        if ob is None:
           folder = portal
         else:
-          folder = aq_parent(object)
+          folder = aq_parent(ob)
           # Search up the containment hierarchy until we find an
           # object that claims it's a folder.
           while folder is not None:
@@ -435,10 +440,10 @@
             else:
               folder = aq_parent(folder)
 
-        ec = createExprContext(folder, portal, object)
+        ec = createExprContext(folder, portal, ob)
         roles = []
         append = roles.append
-        info = ori(self, folder, object)
+        info = ori(self, folder, ob)
 
         # Include actions from self
         self._filterRoleList(append,self,info,ec)
@@ -458,9 +463,9 @@
     #
     #   Helper methods
     #
-    def _filterRoleList(self,append,object,info,ec):
-        r = object.getRoleList(info)
-        if r and type(r[0]) is not type({}):
+    def _filterRoleList(self, append, ob, info, ec):
+        r = ob.getRoleList(info)
+        if r and not isinstance(r[0], dict):
             for ri in r:
                 if ri.testCondition(ec):
                     append(ri.getRole(ec))




More information about the Erp5-report mailing list