[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)
|
getattr(wf_service, trigger)(uid, self._name, res_id, cr)
|
||||||
|
|
||||||
def _workflow_signal(self, cr, uid, ids, signal, context=None):
|
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")
|
wf_service = netsvc.LocalService("workflow")
|
||||||
|
result = {}
|
||||||
for res_id in ids:
|
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):
|
def unlink(self, cr, uid, ids, context=None):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -188,7 +188,8 @@ class object_proxy(object):
|
||||||
object = pooler.get_pool(cr.dbname).get(obj)
|
object = pooler.get_pool(cr.dbname).get(obj)
|
||||||
if not object:
|
if not object:
|
||||||
raise except_osv('Object Error', 'Object %s doesn\'t exist' % str(obj))
|
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
|
@check
|
||||||
def exec_workflow(self, db, uid, obj, signal, *args):
|
def exec_workflow(self, db, uid, obj, signal, *args):
|
||||||
|
|
Loading…
Reference in New Issue