From acc62cecb31ad3ceba565ea68ae6000d8f66fa41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 8 Jan 2024 17:29:26 +0100 Subject: [PATCH] Permit to use deposit account for payment 97281a746606 removed this option that was available since 3255a31c30a2. Closes #12910 (grafted from b835e9473ea18bfcc8aa10b58bca7edb544e0a88) --HG-- branch : 7.0 --- modules/account_deposit/__init__.py | 4 ++++ modules/account_deposit/account.py | 11 +++++++++++ modules/account_deposit/setup.py | 5 ++++- modules/account_deposit/tests/test_module.py | 1 + modules/account_deposit/tryton.cfg | 2 ++ modules/account_payment_clearing/payment.py | 15 +++++++++++---- 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/modules/account_deposit/__init__.py b/modules/account_deposit/__init__.py index 8e8c346ec8..85c78d9258 100644 --- a/modules/account_deposit/__init__.py +++ b/modules/account_deposit/__init__.py @@ -20,3 +20,7 @@ def register(): invoice.DepositRecall, party.Erase, module='account_deposit', type_='wizard') + Pool.register( + account.Payment, + module='account_deposit', type_='model', + depends=['account_payment_clearing']) diff --git a/modules/account_deposit/account.py b/modules/account_deposit/account.py index 83a5605ecc..a7dba16d7f 100644 --- a/modules/account_deposit/account.py +++ b/modules/account_deposit/account.py @@ -51,3 +51,14 @@ class Reconcile(metaclass=PoolMeta): _balanced = True return super().get_currencies( account, party, currency=None, _balanced=_balanced) + + +class Payment(metaclass=PoolMeta): + __name__ = 'account.payment' + + @classmethod + def _account_type_domain(cls): + return ['OR', + super()._account_type_domain(), + ('type.deposit', '=', True), + ] diff --git a/modules/account_deposit/setup.py b/modules/account_deposit/setup.py index 63f5ac2e63..5a5ff62b4f 100755 --- a/modules/account_deposit/setup.py +++ b/modules/account_deposit/setup.py @@ -47,7 +47,10 @@ for dep in info.get('depends', []): requires.append(get_require_version('trytond_%s' % dep)) requires.append(get_require_version('trytond')) -tests_require = [get_require_version('proteus')] +tests_require = [ + get_require_version('proteus'), + get_require_version('trytond_account_payment_clearing'), + ] setup(name=name, version=version, diff --git a/modules/account_deposit/tests/test_module.py b/modules/account_deposit/tests/test_module.py index facf9bc55b..155419d805 100644 --- a/modules/account_deposit/tests/test_module.py +++ b/modules/account_deposit/tests/test_module.py @@ -10,6 +10,7 @@ class AccountDepositTestCase( PartyCompanyCheckEraseMixin, CompanyTestMixin, ModuleTestCase): 'Test Account Deposit module' module = 'account_deposit' + extras = ['account_payment_clearing'] del ModuleTestCase diff --git a/modules/account_deposit/tryton.cfg b/modules/account_deposit/tryton.cfg index c6a47186de..8d9e0ff12b 100644 --- a/modules/account_deposit/tryton.cfg +++ b/modules/account_deposit/tryton.cfg @@ -7,6 +7,8 @@ depends: ir party res +extras_depend: + account_payment_clearing xml: account.xml invoice.xml diff --git a/modules/account_payment_clearing/payment.py b/modules/account_payment_clearing/payment.py index 2ccd230152..90577c4fbf 100644 --- a/modules/account_payment_clearing/payment.py +++ b/modules/account_payment_clearing/payment.py @@ -116,10 +116,6 @@ class Payment(metaclass=PoolMeta): domain=[ ('closed', '!=', True), ('company', '=', Eval('company', -1)), - If(Eval('kind') == 'receivable', - ('type.receivable', '=', True), - ('type.payable', '=', True), - ), ['OR', ('second_currency', '=', Eval('currency', None)), [ @@ -176,6 +172,17 @@ class Payment(metaclass=PoolMeta): cls._buttons.update({ 'succeed_wizard': cls._buttons['succeed'], }) + cls.account.domain = [ + cls.account.domain, + cls._account_type_domain(), + ] + + @classmethod + def _account_type_domain(cls): + return If(Eval('kind') == 'receivable', + ('type.receivable', '=', True), + ('type.payable', '=', True), + ) @fields.depends('party', 'kind', 'date') def on_change_party(self):