From 53b96203ebf1e9721cc278a2ab201a9a4327edfb Mon Sep 17 00:00:00 2001 From: Josse Colpaert Date: Wed, 16 Sep 2015 16:23:05 +0200 Subject: [PATCH] [IMP] procurement_jit: auto reserve for sale can happen at creation of procurements instead of confirm. This makes it possible to redo reservation when more is asked for in a sale order --- addons/procurement_jit/sale.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/addons/procurement_jit/sale.py b/addons/procurement_jit/sale.py index d4708e00f5c..b7ab9d40433 100644 --- a/addons/procurement_jit/sale.py +++ b/addons/procurement_jit/sale.py @@ -3,12 +3,16 @@ from openerp import api, fields, models, _ -class SaleOrder(models.Model): - _inherit = "sale.order" +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" @api.multi - def action_confirm(self): - res = super(SaleOrder, self).action_confirm() - for order in self: - order.picking_ids.filtered(lambda x: x.state=='confirmed').action_assign() + def _action_procurement_create(self): + res = super(SaleOrderLine, self)._action_procurement_create() + orders = list(set(x.order_id for x in self)) + for order in orders: + reassign = order.picking_ids.filtered(lambda x: x.state=='confirmed' or ((x.state=='partially_available') and not x.printed)) + if reassign: + reassign.do_unreserve() + reassign.action_assign() return res \ No newline at end of file