From de09fd56c321aec6d1bbcc975c3778f025842920 Mon Sep 17 00:00:00 2001 From: Raimon Esteve Date: Wed, 20 Nov 2019 09:54:50 +0100 Subject: [PATCH] Get payable or receivable payment type when on_change party from account_kind field --- account.py | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/account.py b/account.py index 1ee3826..e3d1881 100644 --- a/account.py +++ b/account.py @@ -333,19 +333,15 @@ class Line(BankMixin, metaclass=PoolMeta): if self.payment_type and self.party: self._get_bank_account() - @fields.depends('party', 'debit', 'credit', 'move', '_parent_move.id') + @fields.depends('party', 'account_kind', 'move', '_parent_move.id') def on_change_with_payment_type(self, name=None): if self.party: - if self.credit > 0 or self.debit < 0: - name = 'supplier_payment_type' - elif self.debit > 0 or self.credit < 0: - name = 'customer_payment_type' - else: - return - payment_type = getattr(self.party, name) - if payment_type: - return payment_type.id - return + if self.account_kind == 'payable': + return (self.party.supplier_payment_type.id + if self.party.supplier_payment_type else None) + elif self.account_kind == 'receivable': + return (self.party.customer_payment_type.id + if self.party.customer_payment_type else None) @classmethod def copy(cls, lines, default=None):