details:   https://code.tryton.org/tryton/commit/5373473672a2
branch:    8.0
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
        (grafted from d5ace112f8a9315a6740ef75c2bda4cc8b94b90e)
diffstat:

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

diffs (38 lines):

diff -r 6016f308f62f -r 5373473672a2 modules/stock/move.py
--- a/modules/stock/move.py     Thu Oct 01 15:30:57 2026 +0200
+++ b/modules/stock/move.py     Thu Oct 01 09:54:29 2026 +0200
@@ -322,8 +322,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(
@@ -346,7 +348,7 @@
                 ()),
             ],
         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 @@
                 ()),
             ],
         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