[Erp5-report] r15472 - /erp5/trunk/products/ERP5Type/patches/WorkflowTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Aug 3 18:07:35 CEST 2007
Author: vincent
Date: Fri Aug 3 18:07:35 2007
New Revision: 15472
URL: http://svn.erp5.org?rev=15472&view=rev
Log:
Sort worklists once they are all generated instead of sorting independently each group.
Modified:
erp5/trunk/products/ERP5Type/patches/WorkflowTool.py
Modified: erp5/trunk/products/ERP5Type/patches/WorkflowTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/WorkflowTool.py?rev=15472&r1=15471&r2=15472&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/WorkflowTool.py (original)
+++ erp5/trunk/products/ERP5Type/patches/WorkflowTool.py Fri Aug 3 18:07:35 2007
@@ -322,23 +322,22 @@
"""
For each worklist generate action_list as expected by portal_actions.
"""
- action_dict = {}
+ action_list = []
+ append = action_list.append
for key, value in grouped_worklist_dict.iteritems():
document_count = worklist_result.get(key, 0)
if document_count:
metadata = value[WORKLIST_METADATA_KEY]
format_data = metadata['format_data']
format_data._push({'count': document_count})
- action_dict[key] = {'name': metadata['worklist_title'] % format_data,
- 'url': '%s/%s' % (portal_url, metadata['action_box_url'] % format_data),
- 'worklist_id': metadata['worklist_id'],
- 'workflow_title': metadata['workflow_title'],
- 'workflow_id': metadata['workflow_id'],
- 'permissions': (), # Predetermined.
- 'category': metadata['action_box_category']}
- action_dict_key_list = action_dict.keys()
- action_dict_key_list.sort()
- return [action_dict[x] for x in action_dict_key_list]
+ append({'name': metadata['worklist_title'] % format_data,
+ 'url': '%s/%s' % (portal_url, metadata['action_box_url'] % format_data),
+ 'worklist_id': metadata['worklist_id'],
+ 'workflow_title': metadata['workflow_title'],
+ 'workflow_id': metadata['workflow_id'],
+ 'permissions': (), # Predetermined.
+ 'category': metadata['action_box_category']})
+ return action_list
def WorkflowTool_listActions(self, info=None, object=None):
"""
@@ -425,6 +424,11 @@
group_action_list = generateActionList(grouped_worklist_dict=grouped_worklist_dict, worklist_result=worklist_result_dict, portal_url=portal_url)
LOG('WorklistGeneration', BLATHER, 'Creating %s actions.' % (len(group_action_list), ))
action_list.extend(group_action_list)
+ def get_action_ident(action):
+ return '/'.join((action['workflow_id'], action['worklist_id']))
+ def action_cmp(action_a, action_b):
+ return cmp(get_action_ident(action_a), get_action_ident(action_b))
+ action_list.sort(action_cmp)
return action_list
user = str(_getAuthenticatedUser(self))
_getWorklistActionList = CachingMethod(_getWorklistActionList, id=('_getWorklistActionList', user, portal_url), cache_factory = 'erp5_ui_short')
More information about the Erp5-report
mailing list