From fea2c90d3576ece26b88cc1e958ee770c351b364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Valyi?= Date: Thu, 27 Oct 2011 19:14:59 -0200 Subject: [PATCH] [FIX] purchase: create picking in _create_pickings only if picking_id not already provided; thanks to Cloves Almeida for reporting this! bzr revid: rvalyi@gmail.com-20111027211459-hk8n2milqo2c37vk --- addons/purchase/purchase.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 99aa6f377ee..dc364197c6e 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -480,7 +480,8 @@ class purchase_order(osv.osv): will be added. A new picking will be created if ommitted. :return: True """ - picking_id = self.pool.get('stock.picking').create(cr, uid, self._prepare_order_picking(cr, uid, order, args)) + if not picking_id: + picking_id = self.pool.get('stock.picking').create(cr, uid, self._prepare_order_picking(cr, uid, order, args)) todo_moves = [] for order_line in order_lines: if not order_line.product_id: @@ -499,7 +500,7 @@ class purchase_order(osv.osv): def action_picking_create(self,cr, uid, ids, *args): for order in self.browse(cr, uid, ids): - picking_id = self._create_pickings(cr, uid, order, [order_line for order_line in order.order_line], False, args) + picking_id = self._create_pickings(cr, uid, order, [order_line for order_line in order.order_line], None, args) return picking_id #FIXME this is brittle to assume there is only 1 picking_id, but has been kept for API compatibility def copy(self, cr, uid, id, default=None, context=None):