summaryrefslogtreecommitdiff
path: root/addons/purchase_stock
diff options
context:
space:
mode:
authorWilliam Henrotin <whe@odoo.com>2021-05-04 15:54:22 +0000
committerWilliam Henrotin <whe@odoo.com>2021-05-06 13:38:11 +0000
commit363c1916c40d0a85ea4d8e08223b78a4ef30d61a (patch)
treee84b802b6237983ea77835de7c4407956e1210e9 /addons/purchase_stock
parentc449fcb6274c9e68d4470423b5e2d91df3566615 (diff)
[FIX] stock, purchase_stock: read virtual_available in batch
Performance improvement for missing products computation. - Call _prepare_sellers only once - _compute_quantities works in batch for product with the same context. Use this advantage to speedup the computation of virtual available for each warehouse and delivery date.
Diffstat (limited to 'addons/purchase_stock')
-rw-r--r--addons/purchase_stock/models/stock_rule.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/addons/purchase_stock/models/stock_rule.py b/addons/purchase_stock/models/stock_rule.py
index 51c68706d31..f6a14616e50 100644
--- a/addons/purchase_stock/models/stock_rule.py
+++ b/addons/purchase_stock/models/stock_rule.py
@@ -149,10 +149,11 @@ class StockRule(models.Model):
"""
delay, delay_description = super()._get_lead_days(product)
buy_rule = self.filtered(lambda r: r.action == 'buy')
- if not buy_rule or not product._prepare_sellers():
+ seller = product._prepare_sellers()
+ if not buy_rule or not seller:
return delay, delay_description
buy_rule.ensure_one()
- supplier_delay = product._prepare_sellers()[0].delay
+ supplier_delay = seller[0].delay
if supplier_delay:
delay_description += '<tr><td>%s</td><td class="text-right">+ %d %s</td></tr>' % (_('Vendor Lead Time'), supplier_delay, _('day(s)'))
security_delay = buy_rule.picking_type_id.company_id.po_lead