From 8bf547be1df88572828856725066cb695ef4db5d Mon Sep 17 00:00:00 2001 From: Florent de Labarre Date: Wed, 25 Aug 2021 08:06:41 +0000 Subject: [PATCH] [FIX] delivery: delivery is not invalidate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Install delivery and active 'Addresses in Sales Orders' options - Create a delivery allowed only in France - Create a partner with two delivery address, one in France, an other in Belgium - Create SO, select the delivery address in France - Select the carrier --> Change the delivery address in Belgium in the partner_shipping_id field, recompute_delivery_price stay False. This PR fix this issue, now the delivery is invalidate if you update the field partner_shipping_id. closes odoo/odoo#75762 X-original-commit: b53ff03b5cf43c2cd23039b8192f4d90d47e11d2 Signed-off-by: Jérémy Kersten (jke) --- addons/delivery/models/sale_order.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index 2e1321f67bd..4d4adb95b69 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -30,8 +30,9 @@ class SaleOrder(models.Model): for order in self: order.delivery_set = any(line.is_delivery for line in order.order_line) - @api.onchange('order_line', 'partner_id') + @api.onchange('order_line', 'partner_id', 'partner_shipping_id') def onchange_order_line(self): + self.ensure_one() delivery_line = self.order_line.filtered('is_delivery') if delivery_line: self.recompute_delivery_price = True