summaryrefslogtreecommitdiff
path: root/addons/sale_mrp
diff options
context:
space:
mode:
authorArnaud Baes <arb@odoo.com>2019-01-21 14:53:36 +0000
committerArnaud Baes <arb@odoo.com>2019-01-25 09:00:55 +0000
commitdb1c43649d2475ec4e1fb471319ef8247ea973f5 (patch)
tree5a716e688d3ad2a477dc60e820c387cde34d2074 /addons/sale_mrp
parent8298142574516de2632ac0e87b8f36f1fddd7c2c (diff)
[MOV] sale_mrp, mrp: compute quantities for kit
The quantities for kits were computed only if sale_mrp was installed. That's why the override of the method 'compute_quantities' needs to be moved in MRP. TaskID: 1929518 closes odoo/odoo#30271
Diffstat (limited to 'addons/sale_mrp')
-rw-r--r--addons/sale_mrp/models/__init__.py1
-rw-r--r--addons/sale_mrp/models/product_product.py39
2 files changed, 0 insertions, 40 deletions
diff --git a/addons/sale_mrp/models/__init__.py b/addons/sale_mrp/models/__init__.py
index dce709157ba..75e0d652578 100644
--- a/addons/sale_mrp/models/__init__.py
+++ b/addons/sale_mrp/models/__init__.py
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from . import product_product
from . import sale_mrp
diff --git a/addons/sale_mrp/models/product_product.py b/addons/sale_mrp/models/product_product.py
deleted file mode 100644
index ef00ceda2ff..00000000000
--- a/addons/sale_mrp/models/product_product.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-from odoo import models
-
-
-class Product(models.Model):
- _inherit = "product.product"
-
- def _compute_quantities(self):
- """ When the product is a kit, this override computes the fields :
- - 'virtual_available'
- - 'qty_available'
- - 'incoming_qty'
- - 'outgoing_qty'
- """
- for product in self:
- bom_kit = self.env['mrp.bom']._bom_find(product=product, bom_type='phantom')
- if bom_kit:
- boms, bom_sub_lines = bom_kit.explode(product, 1)
- ratios_virtual_available = []
- ratios_qty_available = []
- ratios_incoming_qty = []
- ratios_outgoing_qty = []
- for bom_line, bom_line_data in bom_sub_lines:
- component = bom_line.product_id
- uom_qty_per_kit = bom_line_data['qty'] / bom_line_data['original_qty']
- qty_per_kit = bom_line.product_uom_id._compute_quantity(uom_qty_per_kit, bom_line.product_id.uom_id)
- ratios_virtual_available.append(component.virtual_available / qty_per_kit)
- ratios_qty_available.append(component.qty_available / qty_per_kit)
- ratios_incoming_qty.append(component.incoming_qty / qty_per_kit)
- ratios_outgoing_qty.append(component.outgoing_qty / qty_per_kit)
- if bom_sub_lines:
- product.virtual_available = min(ratios_virtual_available) // 1
- product.qty_available = min(ratios_qty_available) // 1
- product.incoming_qty = min(ratios_incoming_qty) // 1
- product.outgoing_qty = min(ratios_incoming_qty) // 1
- else:
- super(Product, self)._compute_quantities()