changeset 92522a1c18a2 in modules/account_statement:default
details:
https://hg.tryton.org/modules/account_statement?cmd=changeset&node=92522a1c18a2
description:
Require party on statement line if account requires one
issue5881
review26651002
diffstat:
CHANGELOG | 2 ++
statement.py | 12 ++++++++++++
2 files changed, 14 insertions(+), 0 deletions(-)
diffs (45 lines):
diff -r c79d6ac1a6d0 -r 92522a1c18a2 CHANGELOG
--- a/CHANGELOG Sat May 07 11:35:14 2022 +0200
+++ b/CHANGELOG Tue Aug 02 09:37:51 2022 +0200
@@ -1,3 +1,5 @@
+* Require party on statement line if account requires one
+
Version 6.4.0 - 2022-05-02
* Bug fixes (see mercurial logs for details)
* Use reference field for statement line relation
diff -r c79d6ac1a6d0 -r 92522a1c18a2 statement.py
--- a/statement.py Sat May 07 11:35:14 2022 +0200
+++ b/statement.py Tue Aug 02 09:37:51 2022 +0200
@@ -769,6 +769,8 @@
('statement', '=', Eval('statement', -1)),
('date', '=', Eval('date', None)),
])
+ party_required = fields.Function(
+ fields.Boolean("Party Required"), 'on_change_with_party_required')
@classmethod
def __setup__(cls):
@@ -779,6 +781,10 @@
| Bool(Eval('origin', 0))),
}
cls.account.required = True
+ cls.party.states = {
+ 'required': (Eval('party_required', False)
+ & (Eval('statement_state') == 'draft')),
+ }
t = cls.__table__()
cls._sql_constraints += [
('check_statement_line_amount', Check(t, t.amount != 0),
@@ -815,6 +821,12 @@
def invoice(self, value):
self.related_to = value
+ @fields.depends('account')
+ def on_change_with_party_required(self, name=None):
+ if self.account:
+ return self.account.party_required
+ return False
+
@staticmethod
def default_amount():
return Decimal(0)