From fe933abe051f0a6172c4923bbc377142cd08dd07 Mon Sep 17 00:00:00 2001 From: David Ramia Date: Sat, 2 Mar 2024 12:05:55 +0100 Subject: [PATCH] [MIG] account_banking_mandate: Migration to 17.0 --- account_banking_mandate/__manifest__.py | 2 +- .../models/account_move.py | 1 - .../tests/test_invoice_mandate.py | 80 +++++++++---------- account_banking_mandate/tests/test_mandate.py | 21 ++--- .../views/account_banking_mandate_view.xml | 16 ++-- .../views/account_move_view.xml | 5 +- .../views/account_payment_line.xml | 3 +- .../views/account_payment_method.xml | 5 +- account_banking_mandate/views/res_partner.xml | 7 +- 9 files changed, 67 insertions(+), 73 deletions(-) diff --git a/account_banking_mandate/__manifest__.py b/account_banking_mandate/__manifest__.py index fc0c61600..25073ba9e 100644 --- a/account_banking_mandate/__manifest__.py +++ b/account_banking_mandate/__manifest__.py @@ -7,7 +7,7 @@ { "name": "Account Banking Mandate", "summary": "Banking mandates", - "version": "16.0.1.2.1", + "version": "17.0.1.0.0", "development_status": "Production/Stable", "license": "AGPL-3", "author": "Compassion CH, " diff --git a/account_banking_mandate/models/account_move.py b/account_banking_mandate/models/account_move.py index 4f56561da..ed9986e31 100644 --- a/account_banking_mandate/models/account_move.py +++ b/account_banking_mandate/models/account_move.py @@ -14,7 +14,6 @@ class AccountMove(models.Model): ondelete="restrict", readonly=False, check_company=True, - states={"draft": [("readonly", False)]}, compute="_compute_mandate_id", store="True", ) diff --git a/account_banking_mandate/tests/test_invoice_mandate.py b/account_banking_mandate/tests/test_invoice_mandate.py index 2bb1c99ac..d7249f3b0 100644 --- a/account_banking_mandate/tests/test_invoice_mandate.py +++ b/account_banking_mandate/tests/test_invoice_mandate.py @@ -75,7 +75,6 @@ class TestInvoiceMandate(TransactionCase): { "date": fields.Date.today(), "reason": "no reason", - "refund_method": "refund", "journal_id": self.invoice.journal_id.id, } ) @@ -191,80 +190,83 @@ class TestInvoiceMandate(TransactionCase): with self.assertRaises(UserError): invoice.mandate_id = mandate_2 - def _create_res_partner(self, name): - return self.env["res.partner"].create({"name": name}) + @classmethod + def _create_res_partner(cls, name): + return cls.env["res.partner"].create({"name": name}) - def _create_res_bank(self, name, bic, city, country): - return self.env["res.bank"].create( + @classmethod + def _create_res_bank(cls, name, bic, city, country): + return cls.env["res.bank"].create( {"name": name, "bic": bic, "city": city, "country": country.id} ) - def setUp(self): - res = super(TestInvoiceMandate, self).setUp() - self.company = self.env.ref("base.main_company") + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.company = cls.env.ref("base.main_company") - self.partner = self._create_res_partner("Peter with ACME Bank") - self.acme_bank = self._create_res_bank( - "ACME Bank", "GEBABEBB03B", "Charleroi", self.env.ref("base.be") + cls.partner = cls._create_res_partner("Peter with ACME Bank") + cls.acme_bank = cls._create_res_bank( + "ACME Bank", "GEBABEBB03B", "Charleroi", cls.env.ref("base.be") ) - bank_account = self.env["res.partner.bank"].create( + bank_account = cls.env["res.partner.bank"].create( { "acc_number": "0023032234211123", - "partner_id": self.partner.id, - "bank_id": self.acme_bank.id, - "company_id": self.company.id, + "partner_id": cls.partner.id, + "bank_id": cls.acme_bank.id, + "company_id": cls.company.id, } ) - self.company_2 = self.env["res.company"].create({"name": "Company 2"}) + cls.company_2 = cls.env["res.company"].create({"name": "Company 2"}) - self.mandate = self.env["account.banking.mandate"].create( + cls.mandate = cls.env["account.banking.mandate"].create( { "partner_bank_id": bank_account.id, "signature_date": "2015-01-01", - "company_id": self.company.id, + "company_id": cls.company.id, } ) - self.mandate.validate() + cls.mandate.validate() - self.mode_inbound_acme = self.env["account.payment.mode"].create( + cls.mode_inbound_acme = cls.env["account.payment.mode"].create( { "name": "Inbound Credit ACME Bank", - "company_id": self.company.id, + "company_id": cls.company.id, "bank_account_link": "variable", - "payment_method_id": self.env.ref( + "payment_method_id": cls.env.ref( "account.account_payment_method_manual_in" ).id, } ) - bank_journal = self.env["account.journal"].search( + bank_journal = cls.env["account.journal"].search( [ ("type", "=", "bank"), - ("company_id", "=", self.company.id), + ("company_id", "=", cls.company.id), ], limit=1, ) - self.mode_inbound_acme.variable_journal_ids = bank_journal - self.mode_inbound_acme.payment_method_id.mandate_required = True - self.mode_inbound_acme.payment_order_ok = True + cls.mode_inbound_acme.variable_journal_ids = bank_journal + cls.mode_inbound_acme.payment_method_id.mandate_required = True + cls.mode_inbound_acme.payment_order_ok = True - self.partner.customer_payment_mode_id = self.mode_inbound_acme + cls.partner.customer_payment_mode_id = cls.mode_inbound_acme - self.invoice_account = self.env["account.account"].search( + cls.invoice_account = cls.env["account.account"].search( [ ("account_type", "=", "asset_receivable"), - ("company_id", "=", self.company.id), + ("company_id", "=", cls.company.id), ], limit=1, ) invoice_line_account = ( - self.env["account.account"] + cls.env["account.account"] .search( [ ("account_type", "=", "expense"), - ("company_id", "=", self.company.id), + ("company_id", "=", cls.company.id), ], limit=1, ) @@ -276,7 +278,7 @@ class TestInvoiceMandate(TransactionCase): 0, 0, { - "product_id": self.env.ref("product.product_product_4").id, + "product_id": cls.env.ref("product.product_product_4").id, "quantity": 1.0, "account_id": invoice_line_account, "price_unit": 200.00, @@ -284,19 +286,17 @@ class TestInvoiceMandate(TransactionCase): ) ] - self.invoice = self.env["account.move"].create( + cls.invoice = cls.env["account.move"].create( { - "partner_id": self.partner.id, + "partner_id": cls.partner.id, "move_type": "out_invoice", - "company_id": self.company.id, - "journal_id": self.env["account.journal"] + "company_id": cls.company.id, + "journal_id": cls.env["account.journal"] .search( - [("type", "=", "sale"), ("company_id", "=", self.company.id)], + [("type", "=", "sale"), ("company_id", "=", cls.company.id)], limit=1, ) .id, "invoice_line_ids": invoice_vals, } ) - - return res diff --git a/account_banking_mandate/tests/test_mandate.py b/account_banking_mandate/tests/test_mandate.py index 4862738da..1e16be40d 100644 --- a/account_banking_mandate/tests/test_mandate.py +++ b/account_banking_mandate/tests/test_mandate.py @@ -9,18 +9,19 @@ from odoo.tests.common import TransactionCase class TestMandate(TransactionCase): - def setUp(self): - super(TestMandate, self).setUp() - self.company = self.env.company - self.company_2 = self.env["res.company"].create({"name": "company 2"}) - self.company_2.partner_id.company_id = self.company_2.id - self.bank_account = self.env.ref("account_payment_mode.res_partner_12_iban") - self.bank_account.partner_id.company_id = self.company.id - self.mandate = self.env["account.banking.mandate"].create( + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.company = cls.env.company + cls.company_2 = cls.env["res.company"].create({"name": "company 2"}) + cls.company_2.partner_id.company_id = cls.company_2.id + cls.bank_account = cls.env.ref("account_payment_mode.res_partner_12_iban") + cls.bank_account.partner_id.company_id = cls.company.id + cls.mandate = cls.env["account.banking.mandate"].create( { - "partner_bank_id": self.bank_account.id, + "partner_bank_id": cls.bank_account.id, "signature_date": "2015-01-01", - "company_id": self.company.id, + "company_id": cls.company.id, } ) diff --git a/account_banking_mandate/views/account_banking_mandate_view.xml b/account_banking_mandate/views/account_banking_mandate_view.xml index 5b2335e90..7a8943199 100644 --- a/account_banking_mandate/views/account_banking_mandate_view.xml +++ b/account_banking_mandate/views/account_banking_mandate_view.xml @@ -14,28 +14,25 @@ name="validate" type="object" string="Validate" - states="draft" class="btn-primary" - invisible="context.get('mandate_bank_partner_view')" + invisible="context.get('mandate_bank_partner_view') or state != 'draft'" groups="account_payment_order.group_account_payment" />