diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 283458ec333..99535d8f8aa 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -565,7 +565,7 @@ Opportunities Tree crm.lead - + diff --git a/openerp/workflow/instance.py b/openerp/workflow/instance.py index 4987c4ad355..7baf6fddf88 100644 --- a/openerp/workflow/instance.py +++ b/openerp/workflow/instance.py @@ -52,7 +52,12 @@ class WorkflowInstance(object): cr = self.session.cr cr.execute("select * from wkf_workitem where inst_id=%s", (self.instance['id'],)) stack = [] - for work_item_values in cr.dictfetchall(): + for i, work_item_values in enumerate(cr.dictfetchall()): + if i > 0: + # test if previous workitem has already processed this one + cr.execute("select id from wkf_workitem where id=%s", (work_item_values['id'],)) + if not cr.fetchone(): + continue wi = WorkflowItem(self.session, self.record, work_item_values) wi.process(signal=signal, force_running=force_running, stack=stack) # An action is returned