From d1fa981bd2ece83f7800808fbd1cb0cdee5c3a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=A7al=20Isern?= Date: Sat, 17 Oct 2020 09:00:24 +0200 Subject: [PATCH] [MIG] account_payment_partner: Migration to 14.0 --- account_payment_partner/__manifest__.py | 2 +- .../models/account_move.py | 44 +++---- .../readme/CONTRIBUTORS.rst | 1 + .../tests/test_account_payment_partner.py | 110 ++++++++---------- .../views/account_move_view.xml | 2 +- 5 files changed, 74 insertions(+), 85 deletions(-) diff --git a/account_payment_partner/__manifest__.py b/account_payment_partner/__manifest__.py index b24772cb3..8f377ac17 100644 --- a/account_payment_partner/__manifest__.py +++ b/account_payment_partner/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Account Payment Partner", - "version": "13.0.1.0.1", + "version": "14.0.1.0.0", "category": "Banking addons", "license": "AGPL-3", "summary": "Adds payment mode on partners and invoices", diff --git a/account_payment_partner/models/account_move.py b/account_payment_partner/models/account_move.py index be2369fda..8fdcc5a5c 100644 --- a/account_payment_partner/models/account_move.py +++ b/account_payment_partner/models/account_move.py @@ -25,29 +25,29 @@ class AccountMove(models.Model): bank_account_required = fields.Boolean( related="payment_mode_id.payment_method_id.bank_account_required", readonly=True ) - invoice_partner_bank_id = fields.Many2one( - compute="_compute_invoice_partner_bank", + partner_bank_id = fields.Many2one( + compute="_compute_partner_bank", store=True, ondelete="restrict", readonly=False, ) - @api.depends("type") + @api.depends("move_type") def _compute_payment_mode_filter_type_domain(self): for move in self: - if move.type in ("out_invoice", "in_refund"): + if move.move_type in ("out_invoice", "in_refund"): move.payment_mode_filter_type_domain = "inbound" - elif move.type in ("in_invoice", "out_refund"): + elif move.move_type in ("in_invoice", "out_refund"): move.payment_mode_filter_type_domain = "outbound" else: move.payment_mode_filter_type_domain = False - @api.depends("partner_id", "type") + @api.depends("partner_id", "move_type") def _compute_partner_bank_filter_type_domain(self): for move in self: - if move.type in ("out_invoice", "in_refund"): + if move.move_type in ("out_invoice", "in_refund"): move.partner_bank_filter_type_domain = move.bank_partner_id - elif move.type in ("in_invoice", "out_refund"): + elif move.move_type in ("in_invoice", "out_refund"): move.partner_bank_filter_type_domain = move.commercial_partner_id else: move.partner_bank_filter_type_domain = False @@ -57,17 +57,17 @@ class AccountMove(models.Model): for move in self: move.payment_mode_id = False if move.partner_id: - if move.type == "in_invoice": - move.payment_mode_id = move.with_context( - force_company=move.company_id.id + if move.move_type == "in_invoice": + move.payment_mode_id = move.with_company( + move.company_id.id ).partner_id.supplier_payment_mode_id - elif move.type == "out_invoice": - move.payment_mode_id = move.with_context( - force_company=move.company_id.id + elif move.move_type == "out_invoice": + move.payment_mode_id = move.with_company( + move.company_id.id ).partner_id.customer_payment_mode_id @api.depends("partner_id", "payment_mode_id") - def _compute_invoice_partner_bank(self): + def _compute_partner_bank(self): for move in self: # No bank account assignation is done for out_invoice as this is only # needed for printing purposes and it can conflict with @@ -80,7 +80,7 @@ class AccountMove(models.Model): bank_id = False if move.partner_id: pay_mode = move.payment_mode_id - if move.type == "in_invoice": + if move.move_type == "in_invoice": if ( pay_mode and pay_mode.payment_type == "outbound" @@ -88,7 +88,7 @@ class AccountMove(models.Model): and move.commercial_partner_id.bank_ids ): bank_id = get_bank_id() - move.invoice_partner_bank_id = bank_id + move.partner_bank_id = bank_id # I think copying payment mode from invoice to refund by default # is a good idea because the most common way of "paying" a refund is to @@ -97,8 +97,8 @@ class AccountMove(models.Model): def _reverse_move_vals(self, default_values, cancel=True): move_vals = super()._reverse_move_vals(default_values, cancel=cancel) move_vals["payment_mode_id"] = self.payment_mode_id.id - if self.type == "in_invoice": - move_vals["invoice_partner_bank_id"] = self.invoice_partner_bank_id.id + if self.move_type == "in_invoice": + move_vals["partner_bank_id"] = self.partner_bank_id.id return move_vals @api.constrains("company_id", "payment_mode_id") @@ -115,8 +115,8 @@ class AccountMove(models.Model): def partner_banks_to_show(self): self.ensure_one() - if self.invoice_partner_bank_id: - return self.invoice_partner_bank_id + if self.partner_bank_id: + return self.partner_bank_id if self.payment_mode_id.show_bank_account_from_journal: if self.payment_mode_id.bank_account_link == "fixed": return self.payment_mode_id.fixed_journal_id.bank_account_id @@ -132,4 +132,4 @@ class AccountMove(models.Model): or self.partner_id.valid_mandate_id.partner_bank_id ) # Return this as empty recordset - return self.invoice_partner_bank_id + return self.partner_bank_id diff --git a/account_payment_partner/readme/CONTRIBUTORS.rst b/account_payment_partner/readme/CONTRIBUTORS.rst index 6389a89cc..059b32c6d 100644 --- a/account_payment_partner/readme/CONTRIBUTORS.rst +++ b/account_payment_partner/readme/CONTRIBUTORS.rst @@ -12,3 +12,4 @@ * `DynApps `_: * Raf Ven +* Marçal Isern diff --git a/account_payment_partner/tests/test_account_payment_partner.py b/account_payment_partner/tests/test_account_payment_partner.py index 0ed7b289e..3764d14ed 100644 --- a/account_payment_partner/tests/test_account_payment_partner.py +++ b/account_payment_partner/tests/test_account_payment_partner.py @@ -30,7 +30,7 @@ class TestAccountPaymentPartner(common.SavepointCase): raise ValidationError(_("No Chart of Account Template has been defined !")) old_company = cls.env.user.company_id cls.env.user.company_id = cls.company_2.id - cls.chart.try_loading_for_current_company() + cls.chart.try_loading() cls.env.user.company_id = old_company.id # refs @@ -112,7 +112,7 @@ class TestAccountPaymentPartner(common.SavepointCase): cls.customer = ( cls.env["res.partner"] - .with_context(force_company=cls.company.id) + .with_company(cls.company.id) .create( { "name": "Test customer", @@ -123,7 +123,7 @@ class TestAccountPaymentPartner(common.SavepointCase): cls.supplier = ( cls.env["res.partner"] - .with_context(force_company=cls.company.id) + .with_company(cls.company.id) .create( { "name": "Test supplier", @@ -145,8 +145,8 @@ class TestAccountPaymentPartner(common.SavepointCase): "company_id": cls.company_2.id, } ) - cls.supplier.with_context( - force_company=cls.company_2.id + cls.supplier.with_company( + cls.company_2.id ).supplier_payment_mode_id = cls.supplier_payment_mode_c2 cls.invoice_account = cls.env["account.account"].search( @@ -180,7 +180,7 @@ class TestAccountPaymentPartner(common.SavepointCase): cls.supplier_invoice = cls.move_model.create( { "partner_id": cls.supplier.id, - "type": "in_invoice", + "move_type": "in_invoice", "journal_id": cls.journal_c1.id, } ) @@ -190,7 +190,7 @@ class TestAccountPaymentPartner(common.SavepointCase): { "partner_id": self.supplier.id, "journal_id": self.journal_purchase.id, - "type": "in_invoice", + "move_type": "in_invoice", "company_id": self.company.id, "payment_mode_id": self.env.ref( "account_payment_mode.payment_mode_outbound_ct1" @@ -215,7 +215,7 @@ class TestAccountPaymentPartner(common.SavepointCase): def test_create_partner(self): customer = ( self.env["res.partner"] - .with_context(force_company=self.company.id) + .with_company(self.company.id) .create( { "name": "Test customer", @@ -224,16 +224,12 @@ class TestAccountPaymentPartner(common.SavepointCase): ) ) - self.assertEquals( - customer.with_context( - force_company=self.company.id - ).customer_payment_mode_id, + self.assertEqual( + customer.with_company(self.company.id).customer_payment_mode_id, self.customer_payment_mode, ) - self.assertEquals( - customer.with_context( - force_company=self.company_2.id - ).customer_payment_mode_id, + self.assertEqual( + customer.with_company(self.company_2.id).customer_payment_mode_id, self.payment_mode_model, ) @@ -242,17 +238,17 @@ class TestAccountPaymentPartner(common.SavepointCase): invoice = self.move_model.new( { "partner_id": self.customer.id, - "type": "out_invoice", + "move_type": "out_invoice", "company_id": self.company.id, } ) - self.assertEquals(invoice.payment_mode_id, self.customer_payment_mode) + self.assertEqual(invoice.payment_mode_id, self.customer_payment_mode) invoice.company_id = self.company_2 - self.assertEquals(invoice.payment_mode_id, self.payment_mode_model) + self.assertEqual(invoice.payment_mode_id, self.payment_mode_model) invoice.payment_mode_id = False - self.assertFalse(invoice.invoice_partner_bank_id) + self.assertFalse(invoice.partner_bank_id) def test_in_invoice_onchange(self): # Test the onchange methods in invoice @@ -260,28 +256,28 @@ class TestAccountPaymentPartner(common.SavepointCase): invoice = self.move_model.new( { "partner_id": self.supplier.id, - "type": "in_invoice", + "move_type": "in_invoice", "company_id": self.company.id, } ) - self.assertEquals(invoice.payment_mode_id, self.supplier_payment_mode) - self.assertEquals(invoice.invoice_partner_bank_id, self.supplier_bank) + self.assertEqual(invoice.payment_mode_id, self.supplier_payment_mode) + self.assertEqual(invoice.partner_bank_id, self.supplier_bank) invoice.company_id = self.company_2 - self.assertEquals(invoice.payment_mode_id, self.supplier_payment_mode_c2) - self.assertEquals(invoice.invoice_partner_bank_id, self.supplier_bank_2) + self.assertEqual(invoice.payment_mode_id, self.supplier_payment_mode_c2) + self.assertEqual(invoice.partner_bank_id, self.supplier_bank_2) invoice.payment_mode_id = self.supplier_payment_mode - self.assertTrue(invoice.invoice_partner_bank_id) + self.assertTrue(invoice.partner_bank_id) self.manual_out.bank_account_required = False invoice.payment_mode_id = self.supplier_payment_mode_c2 - self.assertFalse(invoice.invoice_partner_bank_id) + self.assertFalse(invoice.partner_bank_id) invoice.partner_id = False - self.assertEquals(invoice.payment_mode_id, self.payment_mode_model) - self.assertEquals(invoice.invoice_partner_bank_id, self.partner_bank_model) + self.assertEqual(invoice.payment_mode_id, self.payment_mode_model) + self.assertEqual(invoice.partner_bank_id, self.partner_bank_model) def test_invoice_create(self): invoice = self._create_invoice() @@ -289,14 +285,14 @@ class TestAccountPaymentPartner(common.SavepointCase): aml = invoice.line_ids.filtered( lambda l: l.account_id.user_type_id == self.acct_type_payable ) - self.assertEquals(invoice.payment_mode_id, aml[0].payment_mode_id) + self.assertEqual(invoice.payment_mode_id, aml[0].payment_mode_id) def test_invoice_constrains(self): with self.assertRaises(ValidationError): self.move_model.create( { "partner_id": self.supplier.id, - "type": "in_invoice", + "move_type": "in_invoice", "company_id": self.company.id, "payment_mode_id": self.supplier_payment_mode_c2.id, } @@ -306,7 +302,7 @@ class TestAccountPaymentPartner(common.SavepointCase): self.move_model.create( { "partner_id": self.supplier.id, - "type": "in_invoice", + "move_type": "in_invoice", "company_id": self.company.id, } ) @@ -352,7 +348,7 @@ class TestAccountPaymentPartner(common.SavepointCase): def test_invoice_refund(self): invoice = self._create_invoice() - invoice.invoice_partner_bank_id = False + invoice.partner_bank_id = False invoice.action_post() # Lets create a refund invoice for invoice_1. # I refund the invoice Using Refund Button. @@ -371,10 +367,8 @@ class TestAccountPaymentPartner(common.SavepointCase): refund_invoice_wizard.reverse_moves()["res_id"] ) - self.assertEquals(refund_invoice.payment_mode_id, invoice.payment_mode_id) - self.assertEquals( - refund_invoice.invoice_partner_bank_id, invoice.invoice_partner_bank_id - ) + self.assertEqual(refund_invoice.payment_mode_id, invoice.payment_mode_id) + self.assertEqual(refund_invoice.partner_bank_id, invoice.partner_bank_id) def test_partner(self): self.customer.write({"customer_payment_mode_id": self.customer_payment_mode.id}) @@ -384,56 +378,50 @@ class TestAccountPaymentPartner(common.SavepointCase): def test_partner_onchange(self): customer_invoice = self.move_model.create( - {"partner_id": self.customer.id, "type": "out_invoice"} + {"partner_id": self.customer.id, "move_type": "out_invoice"} ) self.assertEqual(customer_invoice.payment_mode_id, self.customer_payment_mode) - self.assertEqual( - self.supplier_invoice.invoice_partner_bank_id, self.supplier_bank - ) - vals = {"partner_id": False, "type": "out_invoice"} + self.assertEqual(self.supplier_invoice.partner_bank_id, self.supplier_bank) + vals = {"partner_id": False, "move_type": "out_invoice"} invoice = self.move_model.new(vals) self.assertFalse(invoice.payment_mode_id) - vals = {"partner_id": False, "type": "in_invoice"} + vals = {"partner_id": False, "move_type": "in_invoice"} invoice = self.move_model.new(vals) - self.assertFalse(invoice.invoice_partner_bank_id) + self.assertFalse(invoice.partner_bank_id) def test_onchange_payment_mode_id(self): mode = self.supplier_payment_mode mode.payment_method_id.bank_account_required = True - self.supplier_invoice.invoice_partner_bank_id = self.supplier_bank.id + self.supplier_invoice.partner_bank_id = self.supplier_bank.id self.supplier_invoice.payment_mode_id = mode.id - self.assertEqual( - self.supplier_invoice.invoice_partner_bank_id, self.supplier_bank - ) + self.assertEqual(self.supplier_invoice.partner_bank_id, self.supplier_bank) mode.payment_method_id.bank_account_required = False - self.assertEqual( - self.supplier_invoice.invoice_partner_bank_id, self.supplier_bank - ) + self.assertEqual(self.supplier_invoice.partner_bank_id, self.supplier_bank) self.supplier_invoice.payment_mode_id = False - self.assertFalse(self.supplier_invoice.invoice_partner_bank_id) + self.assertFalse(self.supplier_invoice.partner_bank_id) def test_print_report(self): - self.supplier_invoice.invoice_partner_bank_id = self.supplier_bank.id + self.supplier_invoice.partner_bank_id = self.supplier_bank.id report = self.env.ref("account.account_invoices") - res = str(report.render_qweb_html(self.supplier_invoice.ids)[0]) + res = str(report._render_qweb_html(self.supplier_invoice.ids)[0]) self.assertIn(self.supplier_bank.acc_number, res) payment_mode = self.supplier_payment_mode payment_mode.show_bank_account_from_journal = True self.supplier_invoice.payment_mode_id = payment_mode.id - self.supplier_invoice.invoice_partner_bank_id = False - res = str(report.render_qweb_html(self.supplier_invoice.ids)[0]) + self.supplier_invoice.partner_bank_id = False + res = str(report._render_qweb_html(self.supplier_invoice.ids)[0]) self.assertIn(self.journal_c1.bank_acc_number, res) payment_mode.bank_account_link = "variable" payment_mode.variable_journal_ids = [(6, 0, self.journal.ids)] - res = str(report.render_qweb_html(self.supplier_invoice.ids)[0]) + res = str(report._render_qweb_html(self.supplier_invoice.ids)[0]) self.assertIn(self.journal_bank.acc_number, res) def test_filter_type_domain(self): in_invoice = self.move_model.create( { "partner_id": self.supplier.id, - "type": "in_invoice", + "move_type": "in_invoice", "journal_id": self.journal_c1.id, } ) @@ -444,7 +432,7 @@ class TestAccountPaymentPartner(common.SavepointCase): out_refund = self.move_model.create( { "partner_id": self.customer.id, - "type": "out_refund", + "move_type": "out_refund", "journal_id": self.journal_c2.id, } ) @@ -455,7 +443,7 @@ class TestAccountPaymentPartner(common.SavepointCase): in_refund = self.move_model.create( { "partner_id": self.supplier.id, - "type": "in_refund", + "move_type": "in_refund", "journal_id": self.journal_c1.id, } ) @@ -466,7 +454,7 @@ class TestAccountPaymentPartner(common.SavepointCase): out_invoice = self.move_model.create( { "partner_id": self.customer.id, - "type": "out_invoice", + "move_type": "out_invoice", "journal_id": self.journal_c2.id, } ) diff --git a/account_payment_partner/views/account_move_view.xml b/account_payment_partner/views/account_move_view.xml index b1067f4b4..b2a8d8ed1 100644 --- a/account_payment_partner/views/account_move_view.xml +++ b/account_payment_partner/views/account_move_view.xml @@ -39,7 +39,7 @@ - + [('partner_id', '=', partner_bank_filter_type_domain), '|',('company_id', '=', company_id),('company_id', '=', False)]