[FIX] orm,web_services: properly return results of workflow triggers
bzr revid: odo@openerp.com-20121106181507-ss1w425c1omsn3sb
This commit is contained in:
parent
4ba1696ce2
commit
0357fddc61
|
@ -3861,10 +3861,12 @@ class BaseModel(object):
|
|||
getattr(wf_service, trigger)(uid, self._name, res_id, cr)
|
||||
|
||||
def _workflow_signal(self, cr, uid, ids, signal, context=None):
|
||||
"""Send given workflow signal"""
|
||||
"""Send given workflow signal and return a dict mapping ids to workflow results"""
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
result = {}
|
||||
for res_id in ids:
|
||||
wf_service.trg_validate(uid, self._name, res_id, signal, cr)
|
||||
result[res_id] = wf_service.trg_validate(uid, self._name, res_id, signal, cr)
|
||||
return result
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
|
|
|
@ -188,7 +188,8 @@ class object_proxy(object):
|
|||
object = pooler.get_pool(cr.dbname).get(obj)
|
||||
if not object:
|
||||
raise except_osv('Object Error', 'Object %s doesn\'t exist' % str(obj))
|
||||
return object._workflow_signal(cr, uid, [args[0]], signal)
|
||||
res_id = args[0]
|
||||
return object._workflow_signal(cr, uid, [res_id], signal)[res_id]
|
||||
|
||||
@check
|
||||
def exec_workflow(self, db, uid, obj, signal, *args):
|
||||
|
|
Loading…
Reference in New Issue