diff --git a/addons/mrp/models/stock_rule.py b/addons/mrp/models/stock_rule.py index 7ca58c1363a..fc2bb6125ae 100644 --- a/addons/mrp/models/stock_rule.py +++ b/addons/mrp/models/stock_rule.py @@ -124,11 +124,11 @@ class StockRule(models.Model): manufacture_delay = product.produce_delay delay += manufacture_delay if not bypass_delay_description: - delay_description += '%s+ %d %s' % (_('Manufacturing Lead Time'), manufacture_delay, _('day(s)')) + delay_description.append((_('Manufacturing Lead Time'), _('+ %d day(s)', manufacture_delay))) security_delay = manufacture_rule.picking_type_id.company_id.manufacturing_lead delay += security_delay if not bypass_delay_description: - delay_description += '%s+ %d %s' % (_('Manufacture Security Lead Time'), security_delay, _('day(s)')) + delay_description.append((_('Manufacture Security Lead Time'), _('+ %d day(s)', security_delay))) return delay, delay_description def _push_prepare_move_copy_values(self, move_to_copy, new_date): diff --git a/addons/purchase_stock/models/stock_rule.py b/addons/purchase_stock/models/stock_rule.py index cfa3ea3489e..b9c5fbd7cdf 100644 --- a/addons/purchase_stock/models/stock_rule.py +++ b/addons/purchase_stock/models/stock_rule.py @@ -156,13 +156,13 @@ class StockRule(models.Model): buy_rule.ensure_one() supplier_delay = seller[0].delay if supplier_delay and not bypass_delay_description: - delay_description += '%s+ %d %s' % (_('Vendor Lead Time'), supplier_delay, _('day(s)')) + delay_description.append((_('Vendor Lead Time'), _('+ %d day(s)', supplier_delay))) security_delay = buy_rule.picking_type_id.company_id.po_lead if not bypass_delay_description: - delay_description += '%s+ %d %s' % (_('Purchase Security Lead Time'), security_delay, _('day(s)')) + delay_description.append((_('Purchase Security Lead Time'), _('+ %d day(s)', security_delay))) days_to_purchase = buy_rule.company_id.days_to_purchase if not bypass_delay_description: - delay_description += '%s+ %d %s' % (_('Days to Purchase'), days_to_purchase, _('day(s)')) + delay_description.append((_('Days to Purchase'), _('+ %d day(s)', days_to_purchase))) return delay + supplier_delay + security_delay + days_to_purchase, delay_description @api.model diff --git a/addons/stock/models/stock_rule.py b/addons/stock/models/stock_rule.py index b5ac9cdfd01..79d718d6e8f 100644 --- a/addons/stock/models/stock_rule.py +++ b/addons/stock/models/stock_rule.py @@ -327,13 +327,17 @@ class StockRule(models.Model): :param product: the product of the procurement :type product: :class:`~odoo.addons.product.models.product.ProductProduct` :return: the cumulative delay and cumulative delay's description - :rtype: tuple + :rtype: tuple[int, list[str, str]] """ delay = sum(self.filtered(lambda r: r.action in ['pull', 'pull_push']).mapped('delay')) if self.env.context.get('bypass_delay_description'): - delay_description = "" + delay_description = [] else: - delay_description = ''.join(['%s %s+ %d %s' % (_('Delay on'), html_escape(rule.name), rule.delay, _('day(s)')) for rule in self if rule.action in ['pull', 'pull_push'] and rule.delay]) + delay_description = [ + (_('Delay on %s', rule.name), _('+ %d day(s)', rule.delay)) + for rule in self + if rule.action in ['pull', 'pull_push'] and rule.delay + ] return delay, delay_description diff --git a/addons/stock/static/src/xml/stock_orderpoint.xml b/addons/stock/static/src/xml/stock_orderpoint.xml index afd744c5a04..6c1b9f60b65 100644 --- a/addons/stock/static/src/xml/stock_orderpoint.xml +++ b/addons/stock/static/src/xml/stock_orderpoint.xml @@ -7,7 +7,7 @@ The forecasted stock on the is below the inventory minimum of - : should be replenished to reach the maximum of + : should be replenished to reach the maximum of .

@@ -17,16 +17,19 @@ Today - + + + +
- +
Forecasted Date - = + =