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"
/>
+
@@ -149,7 +147,7 @@
icon="fa-undo"
string="Draft"
groups="account_payment_order.group_account_payment"
- attrs="{'invisible': ['|', ('id', '=', False), ('state', '!=', 'cancel')]}"
+ invisible="not id or state != 'cancel'"
/>
diff --git a/account_banking_mandate/views/account_payment_line.xml b/account_banking_mandate/views/account_payment_line.xml
index 54c5073fd..cf2959aff 100644
--- a/account_banking_mandate/views/account_payment_line.xml
+++ b/account_banking_mandate/views/account_payment_line.xml
@@ -17,7 +17,8 @@
diff --git a/account_banking_mandate/views/account_payment_method.xml b/account_banking_mandate/views/account_payment_method.xml
index f02ad233c..35615ac53 100644
--- a/account_banking_mandate/views/account_payment_method.xml
+++ b/account_banking_mandate/views/account_payment_method.xml
@@ -9,10 +9,7 @@
/>
-
+
diff --git a/account_banking_mandate/views/res_partner.xml b/account_banking_mandate/views/res_partner.xml
index d73ea6169..909c7208e 100644
--- a/account_banking_mandate/views/res_partner.xml
+++ b/account_banking_mandate/views/res_partner.xml
@@ -9,15 +9,12 @@
res.partner
-
+