[Erp5-report] r19184 - /erp5/trunk/products/ERP5Catalog/CatalogTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Feb 8 14:49:05 CET 2008


Author: nicolas
Date: Fri Feb  8 14:49:03 2008
New Revision: 19184

URL: http://svn.erp5.org?rev=19184&view=rev
Log:
Use and create view_role_list outside loop (which contains all roles with View permission) as boolean

Modified:
    erp5/trunk/products/ERP5Catalog/CatalogTool.py

Modified: erp5/trunk/products/ERP5Catalog/CatalogTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/CatalogTool.py?rev=19184&r1=19183&r2=19184&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/CatalogTool.py (original)
+++ erp5/trunk/products/ERP5Catalog/CatalogTool.py Fri Feb  8 14:49:03 2008
@@ -143,23 +143,26 @@
           if len(new_list)>0:
             new_dict[key] = new_list
         localroles = new_dict
+        user_role_list = []
+        for role_list in localroles.values():
+          user_role_list.extend([role for role in role_list if role not in user_role_list])
+        # Added for ERP5 project by JP Smets
+        # The reason why we do not want to keep Owner is because we are
+        # trying to reduce the number of security definitions
+        # However, this is a bad idea if we start to use Owner role
+        # as a kind of bamed Assignee and if we need it for worklists. Therefore
+        # we may sometimes catalog the owner user ID whenever the Owner
+        # has view permission (see getAllowedRolesAndUsers bellow
+        # as well as getViewPermissionOwner method in Base)
+        view_role_list = [role for role in user_role_list if allowed.has_key(role) and role != 'Owner']
         for user, roles in localroles.items():
-          # Added for ERP5 project by JP Smets
-          # The reason why we do not want to keep Owner is because we are
-          # trying to reduce the number of security definitions
-          # However, this is a bad idea if we start to use Owner role
-          # as a kind of bamed Assignee and if we need it for worklists. Therefore
-          # we may sometimes catalog the owner user ID whenever the Owner
-          # has view permission (see getAllowedRolesAndUsers bellow
-          # as well as getViewPermissionOwner method in Base)
-          view_role_list = [role for role in roles if allowed.has_key(role) and role != 'Owner']
           for role in roles:
             if allowed.has_key(role):
               if withnuxgroups:
                 allowed[user] = 1
               else:
                 allowed['user:' + user] = 1
-            if view_role_list:
+            if len(view_role_list):
               #One of Roles has view Permission.
               if withnuxgroups:
                 allowed[user + ':' + role] = 1




More information about the Erp5-report mailing list