From 3e41a1dbf25cff38820a1b82ecfe1b4f57005d09 Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Wed, 10 Jul 2019 13:42:41 +0000 Subject: [PATCH] [IMP] purchase: split onchange product_id for matrix triggering. --- addons/purchase/models/purchase.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index 5ff8dcae7ae..72bfab95f50 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -598,8 +598,17 @@ class PurchaseOrderLine(models.Model): # Reset date, price and quantity since _onchange_quantity will provide default values self.date_planned = datetime.today().strftime(DEFAULT_SERVER_DATETIME_FORMAT) self.price_unit = self.product_qty = 0.0 - self.product_uom = self.product_id.uom_po_id or self.product_id.uom_id + self._product_id_change() + + self._suggest_quantity() + self._onchange_quantity() + + def _product_id_change(self): + if not self.product_id: + return + + self.product_uom = self.product_id.uom_po_id or self.product_id.uom_id product_lang = self.product_id.with_context( lang=self.partner_id.lang, partner_id=self.partner_id.id, @@ -611,9 +620,6 @@ class PurchaseOrderLine(models.Model): self._compute_tax_id() - self._suggest_quantity() - self._onchange_quantity() - @api.onchange('product_id') def onchange_product_id_warning(self): if not self.product_id: