line/splitline: quantitiy-states korrigiert
This commit is contained in:
parent
b9b500624e
commit
bf84b092fc
3 changed files with 40 additions and 28 deletions
36
line.py
36
line.py
|
@ -6,22 +6,36 @@
|
|||
from decimal import Decimal
|
||||
from trytond.model import fields
|
||||
from trytond.pool import PoolMeta, Pool
|
||||
from trytond.pyson import Eval, Or, If
|
||||
from trytond.pyson import Eval, Or, If, And
|
||||
from trytond.exceptions import UserError
|
||||
from trytond.i18n import gettext
|
||||
from trytond.report import Report
|
||||
from trytond.modules.cashbook.line import STATES, DEPENDS
|
||||
from .mixin import SecondUomMixin
|
||||
|
||||
STATESQ = {
|
||||
'required': Eval('feature', '') == 'asset',
|
||||
'invisible': Eval('feature', '') != 'asset',
|
||||
STATESQ1 = {
|
||||
'invisible': And(
|
||||
Eval('feature', '') != 'asset',
|
||||
Eval('booktransf_feature', '') != 'asset',
|
||||
),
|
||||
'required': Or(
|
||||
Eval('feature', '') == 'asset',
|
||||
Eval('booktransf_feature', '') == 'asset',
|
||||
),
|
||||
'readonly': Or(
|
||||
STATES['readonly'],
|
||||
Eval('bookingtype', '').in_(['spin', 'spout']),
|
||||
),
|
||||
}
|
||||
DEPENDSQ = DEPENDS+['feature', 'quantity_digits', 'bookingtype']
|
||||
DEPENDSQ1 = ['feature', 'booktransf_feature', 'quantity_digits', 'bookingtype']
|
||||
DEPENDSQ1.extend(DEPENDS)
|
||||
|
||||
|
||||
STATESQ2 = {
|
||||
'invisible': Eval('feature', '') != 'asset',
|
||||
'required': Eval('feature', '') == 'asset',
|
||||
}
|
||||
DEPENDSQ2 = ['feature', 'quantity_digits', 'bookingtype']
|
||||
|
||||
|
||||
class Line(SecondUomMixin, metaclass=PoolMeta):
|
||||
|
@ -29,19 +43,13 @@ class Line(SecondUomMixin, metaclass=PoolMeta):
|
|||
|
||||
quantity = fields.Numeric(string='Quantity',
|
||||
digits=(16, Eval('quantity_digits', 4)),
|
||||
states=STATESQ, depends=DEPENDSQ)
|
||||
states=STATESQ1, depends=DEPENDSQ1)
|
||||
quantity_credit = fields.Numeric(string='Quantity Credit',
|
||||
digits=(16, Eval('quantity_digits', 4)), readonly=True,
|
||||
states={
|
||||
'invisible': STATESQ['invisible'],
|
||||
'required': STATESQ['required'],
|
||||
}, depends=DEPENDSQ)
|
||||
states=STATESQ2, depends=DEPENDSQ2)
|
||||
quantity_debit = fields.Numeric(string='Quantity Debit',
|
||||
digits=(16, Eval('quantity_digits', 4)), readonly=True,
|
||||
states={
|
||||
'invisible': STATESQ['invisible'],
|
||||
'required': STATESQ['required'],
|
||||
}, depends=DEPENDSQ)
|
||||
states=STATESQ2, depends=DEPENDSQ2)
|
||||
|
||||
quantity_digits = fields.Function(fields.Integer(string='Digits',
|
||||
readonly=True, states={'invisible': True}),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue