[Erp5-report] r18426 - /erp5/trunk/products/ERP5Type/patches/DCWorkflow.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Dec 19 16:47:10 CET 2007


Author: romain
Date: Wed Dec 19 16:47:09 2007
New Revision: 18426

URL: http://svn.erp5.org?rev=18426&view=rev
Log:
Use Guard_checkWithoutRoles to check guard expression.

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

Modified: erp5/trunk/products/ERP5Type/patches/DCWorkflow.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/DCWorkflow.py?rev=18426&r1=18425&r2=18426&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/DCWorkflow.py (original)
+++ erp5/trunk/products/ERP5Type/patches/DCWorkflow.py Wed Dec 19 16:47:09 2007
@@ -240,20 +240,28 @@
     if action_box_name:
       variable_match = dict([(x, [y % info for y in worklist_definition.getVarMatch(x)]) for x in worklist_definition.getVarMatchKeys()])
       variable_match.setdefault('portal_type', portal_type_list)
-      if not (guard is None or guard.check(security_manager, self, portal)):
+
+      is_permitted_worklist = 0
+      if guard is None:
+        is_permitted_worklist = 1
+      elif Guard_checkWithoutRoles(guard, security_manager, self, portal):
+        is_permitted_worklist = 1
         variable_match[SECURITY_PARAMETER_ID] = guard.roles
-      format_data = TemplateDict()
-      format_data._push(info)
-      format_data._push({'portal_type': ' OR '.join(variable_match['portal_type']),
-                         'local_roles': ';'.join(variable_match.get(SECURITY_PARAMETER_ID, []))})
-      variable_match[WORKLIST_METADATA_KEY] = {'format_data': format_data,
-                                               'worklist_title': action_box_name,
-                                               'worklist_id': worklist_id,
-                                               'workflow_title': self.title,
-                                               'workflow_id': self.id,
-                                               'action_box_url': worklist_definition.actbox_url,
-                                               'action_box_category': worklist_definition.actbox_category}
-      variable_match_dict[worklist_id] = variable_match
+
+      if is_permitted_worklist:
+        format_data = TemplateDict()
+        format_data._push(info)
+        format_data._push({'portal_type': ' OR '.join(variable_match['portal_type']),
+                           'local_roles': ';'.join(variable_match.get(SECURITY_PARAMETER_ID, []))})
+        variable_match[WORKLIST_METADATA_KEY] = {'format_data': format_data,
+                                                 'worklist_title': action_box_name,
+                                                 'worklist_id': worklist_id,
+                                                 'workflow_title': self.title,
+                                                 'workflow_id': self.id,
+                                                 'action_box_url': worklist_definition.actbox_url,
+                                                 'action_box_category': worklist_definition.actbox_category}
+        variable_match_dict[worklist_id] = variable_match
+
   if len(variable_match_dict) == 0:
     return None
   return variable_match_dict




More information about the Erp5-report mailing list