From 072cd3b91fcbe631c4847b09e347bf466192307b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 1 Oct 2026 09:54:29 +0200 Subject: [PATCH] Show price and currency fields on stock move when they are not required but still filled This is to let the user clear the invalid fields from past moves. Closes #14919 (grafted from d5ace112f8a9315a6740ef75c2bda4cc8b94b90e) --HG-- branch : 8.0 --- modules/stock/move.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/modules/stock/move.py b/modules/stock/move.py index 3780071931..b3e75a0677 100644 --- a/modules/stock/move.py +++ b/modules/stock/move.py @@ -322,8 +322,10 @@ class Move(Workflow, ModelSQL, ModelView): ()), ], states={ - 'invisible': ~Eval('unit_price_required'), - 'required': Bool(Eval('unit_price_required')), + 'invisible': ( + ~Eval('unit_price_required', False) + & (Eval('unit_price', None) == None)), # noqa: E711 + 'required': Eval('unit_price_required', False), 'readonly': Eval('state') != 'draft', }) unit_price_company = fields.Function( @@ -346,7 +348,7 @@ class Move(Workflow, ModelSQL, ModelView): ()), ], states={ - 'invisible': ~Eval('cost_price_required'), + 'invisible': ~Eval('cost_price_required', False), 'required': ( (Eval('state') == 'done') & Eval('cost_price_required', False)), @@ -370,8 +372,10 @@ class Move(Workflow, ModelSQL, ModelView): ()), ], states={ - 'invisible': ~Eval('unit_price_required'), - 'required': Bool(Eval('unit_price_required')), + 'invisible': ( + ~Eval('unit_price_required') + & (Eval('currency', None) == None)), # noqa: E711 + 'required': Eval('unit_price_required', False), 'readonly': Eval('state') != 'draft', }, help="The currency in which the unit price is specified.")