I created a set of approvals in a Purchase Order workflow, I added a rejection step among the workflow steps. The approvals flow smoothly, my problem is that when rejecting one approval and get back to the previous workflow state everything stops and is then unable to change the state by clicking the current approval
whenever go back in any workflow one should delete then create the workflow related records in workflow tables, I faced enourmouse difficuties due to the lack of this piece of information, I put it here to share information
pls check the method action_cancel_draft in purchase.py
def action_cancel_draft(self, cr, uid, ids, context=None):
if not len(ids):
return False
self.write(cr, uid, ids, {'state':'draft','shipped':0})
wf_service = netsvc.LocalService("workflow")
for p_id in ids:
# Deleting the existing instance of workflow for PO
wf_service.trg_delete(uid, 'purchase.order', p_id, cr)
wf_service.trg_create(uid, 'purchase.order', p_id, cr)
return True
摘自:https://www.odoo.com/forum/help-1/question/go-back-step-in-a-workflow-stops-everything-84513