From 6d26600f38ceb8ce2762dbb33c8a0e107ce06219 Mon Sep 17 00:00:00 2001 From: clesgow Date: Tue, 7 Mar 2023 09:23:41 +0000 Subject: [PATCH] [FIX] purchase_mrp: fix MO overview override The changes done to properly use the uom done in the `mrp` module were not reflected in the `purchase_mrp` module, raising a traceback when the purchase module was installed. Part of task-3217757 Part-of: odoo/odoo#118023 --- addons/purchase_mrp/report/mrp_report_mo_overview.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/purchase_mrp/report/mrp_report_mo_overview.py b/addons/purchase_mrp/report/mrp_report_mo_overview.py index 22e0299ca71..bceb8cbabc4 100644 --- a/addons/purchase_mrp/report/mrp_report_mo_overview.py +++ b/addons/purchase_mrp/report/mrp_report_mo_overview.py @@ -46,17 +46,17 @@ class ReportMoOverview(models.AbstractModel): return self._format_receipt_date(receipt_state, doc_in.date_planned) return res - def _get_resupply_data(self, rules, rules_delay, quantity, product, warehouse): - res = super()._get_resupply_data(rules, rules_delay, quantity, product, warehouse) + def _get_resupply_data(self, rules, rules_delay, quantity, uom_id, product, warehouse): + res = super()._get_resupply_data(rules, rules_delay, quantity, uom_id, product, warehouse) if any(rule for rule in rules if rule.action == 'buy' and product.seller_ids): supplier = product._select_seller(quantity=quantity, uom_id=product.uom_id) return { 'delay': supplier.delay + rules_delay, - 'cost': supplier.price * quantity, + 'cost': supplier.price * uom_id._compute_quantity(quantity, supplier.product_uom), } return res - def _get_replenishment_cost(self, product, quantity, currency, move_in=False): + def _get_replenishment_cost(self, product, quantity, uom_id, currency, move_in=False): if move_in and move_in.purchase_line_id: - return currency.round(move_in.purchase_line_id.price_unit * quantity) - return super()._get_replenishment_cost(product, quantity, currency, move_in) + return currency.round(move_in.purchase_line_id.price_unit * uom_id._compute_quantity(quantity, move_in.purchase_line_id.product_uom)) + return super()._get_replenishment_cost(product, quantity, uom_id, currency, move_in)