From ba9b10f36ff601bd2699ece439421cd9eace4ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Pigeon?= Date: Tue, 9 May 2017 12:35:23 +0200 Subject: [PATCH] [10.0][CHG]stock_available...: improve stock methods computation optimize stock computation by avoiding to call useless compute --- stock_available_immediately/README.rst | 3 ++- stock_available_immediately/__init__.py | 1 - .../models/product_template.py | 20 ------------------- stock_available_immediately/product.py | 19 ++++++++++-------- 4 files changed, 13 insertions(+), 30 deletions(-) delete mode 100644 stock_available_immediately/models/product_template.py diff --git a/stock_available_immediately/README.rst b/stock_available_immediately/README.rst index 540678a5e..e4640d3ce 100644 --- a/stock_available_immediately/README.rst +++ b/stock_available_immediately/README.rst @@ -41,6 +41,7 @@ Contributors * Sébastien BEAU (Akretion) * Lionel Sausin (Numérigraphe) * Sodexis +* Cédric Pigeon Maintainer ---------- @@ -55,4 +56,4 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit https://odoo-community.org. \ No newline at end of file +To contribute to this module, please visit https://odoo-community.org. diff --git a/stock_available_immediately/__init__.py b/stock_available_immediately/__init__.py index e1a1a2e8e..3dfea9e01 100644 --- a/stock_available_immediately/__init__.py +++ b/stock_available_immediately/__init__.py @@ -4,4 +4,3 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import product_product -from . import product_template diff --git a/stock_available_immediately/models/product_template.py b/stock_available_immediately/models/product_template.py deleted file mode 100644 index ab89a602f..000000000 --- a/stock_available_immediately/models/product_template.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2014 Camptocamp, Akretion, Numérigraphe -# Copyright 2016 Sodexis -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import models, api - - -class ProductTemplate(models.Model): - _inherit = 'product.template' - - @api.multi - @api.depends('virtual_available', 'incoming_qty') - def _compute_immediately_usable_qty(self): - """Ignore the incoming goods in the quantity available to promise - - This is the same implementation as for variants.""" - super(ProductTemplate, self)._compute_immediately_usable_qty() - for tmpl in self: - tmpl.immediately_usable_qty -= tmpl.incoming_qty diff --git a/stock_available_immediately/product.py b/stock_available_immediately/product.py index 5df94fc85..e7fd22532 100644 --- a/stock_available_immediately/product.py +++ b/stock_available_immediately/product.py @@ -3,7 +3,7 @@ # Copyright 2016 Sodexis # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import models, api +from odoo import api, models class Product(models.Model): @@ -11,11 +11,14 @@ class Product(models.Model): _inherit = 'product.product' @api.multi - @api.depends('virtual_available', 'incoming_qty') - def _compute_immediately_usable_qty(self): - """Ignore the incoming goods in the quantity available to promise + def _compute_available_quantities_dict(self): + res, stock_dict = super(ProductProduct, + self)._compute_available_quantities_dict() + for product in self: + res[product.id]['immediately_usable_qty'] -= \ + stock_dict[product.id]['incoming_qty'] + return res, stock_dict - This is the same implementation as for templates.""" - super(ProductProduct, self)._compute_immediately_usable_qty() - for prod in self: - prod.immediately_usable_qty -= prod.incoming_qty + @api.depends('virtual_available', 'incoming_qty') + def _compute_available_quantities(self): + return super(ProductProduct, self)._compute_available_quantities()