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.")