From 7b75df7e4c3b2524f529e8e83475cbd4e358ab67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 16 Dec 2024 18:28:21 +0100 Subject: [PATCH] Allow deleting routing or BOM linked together Closes #13759 --- modules/production_routing/production.py | 6 ++++-- modules/production_routing/routing.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/production_routing/production.py b/modules/production_routing/production.py index c0ebe8ebec..10524e8592 100644 --- a/modules/production_routing/production.py +++ b/modules/production_routing/production.py @@ -2,14 +2,16 @@ # this repository contains the full copyright notices and license terms. from trytond.model import fields from trytond.pool import PoolMeta -from trytond.pyson import Eval +from trytond.pyson import Eval, If class Production(metaclass=PoolMeta): __name__ = 'production' routing = fields.Many2One('production.routing', 'Routing', domain=[ - ('boms', '=', Eval('bom', 0)), + If(Eval('state').in_(['request', 'draft']), + ('boms', '=', Eval('bom', 0)), + ()), ], states={ 'readonly': ~Eval('state').in_(['request', 'draft']), diff --git a/modules/production_routing/routing.py b/modules/production_routing/routing.py index a79509c801..75bad8d878 100644 --- a/modules/production_routing/routing.py +++ b/modules/production_routing/routing.py @@ -39,5 +39,7 @@ class RoutingStep(sequence_ordered(), ModelSQL, ModelView): class Routing_BOM(ModelSQL): __name__ = 'production.routing-production.bom' - routing = fields.Many2One('production.routing', 'Routing', required=True) - bom = fields.Many2One('production.bom', 'BOM', required=True) + routing = fields.Many2One( + 'production.routing', "Routing", required=True, ondelete='CASCADE') + bom = fields.Many2One( + 'production.bom', "BOM", required=True, ondelete='CASCADE')