From 720bd01f04f9bcae97433a8c1e21f3431fce9784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 24 Jul 2025 10:36:30 +0200 Subject: [PATCH] Enforce non-goods product to not be consumable Closes #14132 --- modules/product/product.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/product/product.py b/modules/product/product.py index 231f6743ce..8cc2560c9d 100644 --- a/modules/product/product.py +++ b/modules/product/product.py @@ -19,7 +19,7 @@ from trytond.model import ( from trytond.modules.company.model import ( CompanyMultiValueMixin, CompanyValueMixin) from trytond.pool import Pool -from trytond.pyson import Eval, Get +from trytond.pyson import Eval, Get, If from trytond.tools import is_full_text, lstrip_wildcard from trytond.transaction import Transaction from trytond.wizard import Button, StateTransition, StateView, Wizard @@ -70,6 +70,11 @@ class Template( }) type = fields.Selection(TYPES, "Type", required=True) consumable = fields.Boolean('Consumable', + domain=[ + If(Eval('type') != 'goods', + ('consumable', '=', False), + ()), + ], states={ 'invisible': Eval('type', 'goods') != 'goods', },