diff options
| author | P. Christeas <p_christ@hol.gr> | 2009-07-09 21:12:53 +0300 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2009-07-09 21:12:53 +0300 |
| commit | 2d64ce69d07a55f827548e43cfcc73cd459dc39a (patch) | |
| tree | b217b2afe155395280d27a4c6cc0c43c89396c3b /bin/workflow | |
| parent | cb5e80507f5a8330ed4e0f2526343b97f8d506e6 (diff) | |
| parent | a2db1c09ba3a279a8d791c8914a19d2f0dbb2c18 (diff) | |
Merge origin/master into mdv-gpl3-py26
Conflicts:
bin/addons/base_setup/i18n/base_setup.pot
bin/openerp-server.py
bin/report/preprocess.py
bin/report/report_sxw.py
bin/tools/translate.py
bzr revid: p_christ@hol.gr-20090709181253-fu8nxy9b3ykrrd1c
Diffstat (limited to 'bin/workflow')
| -rw-r--r-- | bin/workflow/workitem.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bin/workflow/workitem.py b/bin/workflow/workitem.py index fe098bdefb9..f9cf812c16c 100644 --- a/bin/workflow/workitem.py +++ b/bin/workflow/workitem.py @@ -88,10 +88,11 @@ def _execute(cr, workitem, activity, ident, stack): # # send a signal to parent workflow (signal: subflow.signal_name) # + signal_todo = [] if (workitem['state']=='active') and activity['signal_send']: cr.execute("select i.id,w.osv,i.res_id from wkf_instance i left join wkf w on (i.wkf_id=w.id) where i.id in (select inst_id from wkf_workitem where subflow_id=%s)", (workitem['inst_id'],)) for i in cr.fetchall(): - instance.validate(cr, i[0], (ident[0],i[1],i[2]), activity['signal_send'], force_running=True) + signal_todo.append((i[0], (ident[0],i[1],i[2]), activity['signal_send'])) if activity['kind']=='dummy': if workitem['state']=='active': @@ -139,6 +140,9 @@ def _execute(cr, workitem, activity, ident, stack): state= cr.fetchone()[0] if state=='complete': _state_set(cr, workitem, activity, 'complete', ident) + for t in signal_todo: + instance.validate(cr, t[0], t[1], t[2], force_running=True) + return result def _split_test(cr, workitem, split_mode, ident, signal=None, stack=None): |
