From 0dbfe051e85d3d9fd45eb355ad7ac1e8bce83564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 22 Jul 2023 18:53:50 +0200 Subject: [PATCH] Copy pattern of production lead time before modification We should not modify the caller mutable structure. --- modules/production/production.py | 3 +-- modules/production_routing/production.py | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/production/production.py b/modules/production/production.py index cf20bf714f..650e4accb4 100644 --- a/modules/production/production.py +++ b/modules/production/production.py @@ -305,8 +305,7 @@ class Production(ShipmentAssignMixin, Workflow, ModelSQL, ModelView): @fields.depends('product', 'bom') def compute_lead_time(self, pattern=None): - if pattern is None: - pattern = {} + pattern = pattern.copy() if pattern is not None else {} if self.product: pattern.setdefault('bom', self.bom.id if self.bom else None) for line in self.product.production_lead_times: diff --git a/modules/production_routing/production.py b/modules/production_routing/production.py index 4eff9953b7..00e77cec9c 100644 --- a/modules/production_routing/production.py +++ b/modules/production_routing/production.py @@ -28,8 +28,7 @@ class Production(metaclass=PoolMeta): @fields.depends('routing') def on_change_with_planned_start_date(self, pattern=None): - if pattern is None: - pattern = {} + pattern = pattern.copy() if pattern is not None else {} pattern.setdefault( 'routing', self.routing.id if self.routing else None) return super(Production, self).on_change_with_planned_start_date(