Require party on statement line if account requires one
issue5881 review26651002
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -769,6 +769,8 @@ class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
|
||||
('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 @@ class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
|
||||
| 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 @@ class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user