From f505cd0ade8073f64adaf3d7af5b6a972e515d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 16 Jul 2026 15:57:11 +0200 Subject: [PATCH] Do not create a purchase line for outsourced production with already one Closes #14759 (grafted from 0985df4c4cf2226455d082ecfe33636d97cea42d) --HG-- branch : 8.0 --- modules/production_outsourcing/production.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/production_outsourcing/production.py b/modules/production_outsourcing/production.py index 4c32c4c640..58ea988f50 100644 --- a/modules/production_outsourcing/production.py +++ b/modules/production_outsourcing/production.py @@ -162,8 +162,12 @@ class Production(metaclass=PoolMeta): def has_supplier(production): return production.routing and production.routing.supplier + + def not_has_purchase_lines(production): + return not production.purchase_lines productions = cls.browse(sorted( - filter(has_supplier, draft_productions), + filter(not_has_purchase_lines, + filter(has_supplier, draft_productions)), key=cls._group_purchase_key)) for key, grouped in groupby(productions, key=cls._group_purchase_key): productions = list(grouped)