diff --git a/stock_available/models/product_product.py b/stock_available/models/product_product.py index e9fe960e4..a22951f92 100644 --- a/stock_available/models/product_product.py +++ b/stock_available/models/product_product.py @@ -14,7 +14,7 @@ class ProductProduct(models.Model): """ _inherit = 'product.product' - @api.one + @api.multi @api.depends('virtual_available') def _immediately_usable_qty(self): """No-op implementation of the stock available to promise. @@ -23,7 +23,8 @@ class ProductProduct(models.Model): Must be overridden by another module that actually implement computations.""" - self.immediately_usable_qty = self.virtual_available + for prod in self: + prod.immediately_usable_qty = prod.virtual_available immediately_usable_qty = fields.Float( digits=dp.get_precision('Product Unit of Measure'), diff --git a/stock_available/models/product_template.py b/stock_available/models/product_template.py index cdff1f35e..a7f1fcc4b 100644 --- a/stock_available/models/product_template.py +++ b/stock_available/models/product_template.py @@ -9,12 +9,15 @@ from openerp.addons import decimal_precision as dp class ProductTemplate(models.Model): _inherit = 'product.template' - @api.one - @api.depends('virtual_available') + @api.multi + @api.depends('product_variant_ids.immediately_usable_qty') def _immediately_usable_qty(self): """Compute the quantity using all the variants""" - self.immediately_usable_qty = sum( - [v.immediately_usable_qty for v in self.product_variant_ids]) + for tmpl in self: + tmpl.immediately_usable_qty = sum( + v.immediately_usable_qty + for v in tmpl.product_variant_ids + ) immediately_usable_qty = fields.Float( digits=dp.get_precision('Product Unit of Measure'),