[FIX] purchase: avoid getting trigger loop (again), apply same fix on procurement...
authorMartin Trigaux <mat@openerp.com>
Fri, 4 Oct 2013 15:39:15 +0000 (17:39 +0200)
committerMartin Trigaux <mat@openerp.com>
Fri, 4 Oct 2013 15:39:15 +0000 (17:39 +0200)
bzr revid: mat@openerp.com-20131004153915-2urkq50bp8rnddnt

addons/procurement/procurement.py
addons/purchase/purchase.py

index 8a5b510..2bc095a 100644 (file)
@@ -372,7 +372,6 @@ class procurement_order(osv.osv):
                     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)
-                    self.message_post(cr, uid, [procurement.id], body=message, context=context)
         return ok
 
     def _workflow_trigger(self, cr, uid, ids, trigger, context=None):
index adaaf6d..073fbc2 100644 (file)
@@ -1046,6 +1046,9 @@ class procurement_order(osv.osv):
                 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=context)
                 return False