details:   https://code.tryton.org/tryton/commit/d5ace112f8a9
branch:    default
user:      Cédric Krier <[email protected]>
date:      Thu Oct 01 09:54:29 2026 +0200
description:
        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
diffstat:

 modules/stock/move.py |  14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diffs (38 lines):

diff -r 68440368ea11 -r d5ace112f8a9 modules/stock/move.py
--- a/modules/stock/move.py     Fri Oct 02 10:38:57 2026 +0200
+++ b/modules/stock/move.py     Thu Oct 01 09:54:29 2026 +0200
@@ -352,8 +352,10 @@
                 ()),
             ],
         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(
@@ -376,7 +378,7 @@
                 ()),
             ],
         states={
-            'invisible': ~Eval('cost_price_required'),
+            'invisible': ~Eval('cost_price_required', False),
             'required': (
                 (Eval('state') == 'done')
                 & Eval('cost_price_required', False)),
@@ -400,8 +402,10 @@
                 ()),
             ],
         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.")

Reply via email to