This question has been flagged
1 Reply
3543 Views

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

Avatar
Discard
Author Best Answer

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

Avatar
Discard

Hi Tarek, I'm facing the same problem as you. I'm trying to implement your solution but I don't understand what the "self.write(cr, uid, ids, {'state':'draft','shipped':0})" line does