From 18528adaff4eb5fe11a5ba4060b862ad14d1bcae Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 7 Oct 2013 10:10:14 +0200 Subject: [PATCH] [FIX] purchase: block workflow when supplier check fails, even if already has set an error message lp bug: https://launchpad.net/bugs/1236191 fixed bzr revid: mat@openerp.com-20131007081014-8p0u7s0svx7gokg1 --- addons/purchase/purchase.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 812ddbb177b..342bc806c76 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -1045,11 +1045,12 @@ class procurement_order(osv.osv): elif not partner_obj.address_get(cr, uid, [partner.id], ['delivery'])['delivery']: message = _('No address defined for the supplier') - if message and procurement.message != message: - #temporary context passed in write to prevent an infinite loop - ctx_wkf = dict(context or {}) - ctx_wkf['workflow.trg_write.%s' % self._name] = False - self.write(cr, uid, [procurement.id], {'message':message}, context=ctx_wkf) + if message: + if procurement.message != message: + #temporary context passed in write to prevent an infinite loop + ctx_wkf = dict(context or {}) + ctx_wkf['workflow.trg_write.%s' % self._name] = False + self.write(cr, uid, [procurement.id], {'message':message}, context=ctx_wkf) return False if user.company_id and user.company_id.partner_id: