diff --git a/account_payment_partner/i18n/account_payment_partner.pot b/account_payment_partner/i18n/account_payment_partner.pot index 91559d13a..e632f6c1b 100644 --- a/account_payment_partner/i18n/account_payment_partner.pot +++ b/account_payment_partner/i18n/account_payment_partner.pot @@ -6,6 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-25 12:38+0000\n" +"PO-Revision-Date: 2021-05-25 12:38+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -162,6 +164,11 @@ msgstr "" msgid "Payment Modes" msgstr "" +#. module: account_payment_partner +#: model:ir.model.fields,field_description:account_payment_partner.field_account_payment_mode__refund_payment_mode_id +msgid "Payment mode for refunds" +msgstr "" + #. module: account_payment_partner #: model_terms:ir.ui.view,arch_db:account_payment_partner.view_move_line_form msgid "Payments" @@ -206,6 +213,13 @@ msgstr "" msgid "Supplier Payment Mode" msgstr "" +#. module: account_payment_partner +#: model:ir.model.fields,help:account_payment_partner.field_account_payment_mode__refund_payment_mode_id +msgid "" +"This payment mode will be used when doing refunds coming from the current " +"payment mode." +msgstr "" + #. module: account_payment_partner #: code:addons/account_payment_partner/models/account_payment_mode.py:0 #, python-format diff --git a/account_payment_partner/i18n/es.po b/account_payment_partner/i18n/es.po index ef057da2d..e06e7e25e 100644 --- a/account_payment_partner/i18n/es.po +++ b/account_payment_partner/i18n/es.po @@ -8,16 +8,16 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-23 03:38+0000\n" -"PO-Revision-Date: 2021-04-18 16:46+0000\n" +"POT-Creation-Date: 2021-05-25 12:38+0000\n" +"PO-Revision-Date: 2021-05-25 14:40+0200\n" "Last-Translator: Nelson Ramírez Sánchez \n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" +"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Poedit 2.3\n" #. module: account_payment_partner #: model_terms:ir.ui.view,arch_db:account_payment_partner.account_payment_mode_form @@ -173,6 +173,11 @@ msgstr "Dominio de Tipo de Pago Modo Filtro" msgid "Payment Modes" msgstr "Modos de pago" +#. module: account_payment_partner +#: model:ir.model.fields,field_description:account_payment_partner.field_account_payment_mode__refund_payment_mode_id +msgid "Payment mode for refunds" +msgstr "Modo de pago para rectificaciones" + #. module: account_payment_partner #: model_terms:ir.ui.view,arch_db:account_payment_partner.view_move_line_form msgid "Payments" @@ -221,6 +226,15 @@ msgstr "Mostrar en facturas nº de cuenta bancaria parcial o completo" msgid "Supplier Payment Mode" msgstr "Modo de pago de proveedor" +#. module: account_payment_partner +#: model:ir.model.fields,help:account_payment_partner.field_account_payment_mode__refund_payment_mode_id +msgid "" +"This payment mode will be used when doing refunds coming from the current " +"payment mode." +msgstr "" +"Este modo de pago se utilizará cuando se realicen facturas rectificativas provenientes " +"del modo de pago actual." + #. module: account_payment_partner #: code:addons/account_payment_partner/models/account_payment_mode.py:0 #, python-format diff --git a/account_payment_partner/models/account_move.py b/account_payment_partner/models/account_move.py index 460072a1d..0b0faee12 100644 --- a/account_payment_partner/models/account_move.py +++ b/account_payment_partner/models/account_move.py @@ -58,23 +58,24 @@ class AccountMove(models.Model): for move in self: move.payment_mode_id = False if move.partner_id: - partner = move.with_context(force_company=move.company_id.id).partner_id - if move.type == "in_invoice": + partner = move.with_company(move.company_id.id).partner_id + if move.move_type == "in_invoice": move.payment_mode_id = partner.supplier_payment_mode_id - elif move.type == "out_invoice": + elif move.move_type == "out_invoice": move.payment_mode_id = partner.customer_payment_mode_id elif ( - move.type in ["out_refund", "in_refund"] and move.reversed_entry_id + move.move_type in ["out_refund", "in_refund"] + and move.reversed_entry_id ): move.payment_mode_id = ( move.reversed_entry_id.payment_mode_id.refund_payment_mode_id ) elif not move.reversed_entry_id: - if move.type == "out_refund": + if move.move_type == "out_refund": move.payment_mode_id = ( partner.customer_payment_mode_id.refund_payment_mode_id ) - elif move.type == "in_refund": + elif move.move_type == "in_refund": move.payment_mode_id = ( partner.supplier_payment_mode_id.refund_payment_mode_id ) @@ -106,8 +107,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.refund_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 def partner_banks_to_show(self): diff --git a/account_payment_partner/tests/test_account_payment_partner.py b/account_payment_partner/tests/test_account_payment_partner.py index 348c9bcb1..e0002d360 100644 --- a/account_payment_partner/tests/test_account_payment_partner.py +++ b/account_payment_partner/tests/test_account_payment_partner.py @@ -3,7 +3,8 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from odoo import _, fields -from odoo.exceptions import ValidationError +from odoo.exceptions import UserError, ValidationError +from odoo.fields import Date from odoo.tests.common import Form, SavepointCase @@ -192,11 +193,12 @@ class TestAccountPaymentPartner(SavepointCase): } ) - def _create_invoice(self, default_type, partner): + def _create_invoice(self, default_move_type, partner): move_form = Form( - self.env["account.move"].with_context(default_type=default_type) + self.env["account.move"].with_context(default_move_type=default_move_type) ) move_form.partner_id = partner + move_form.invoice_date = Date.today() with move_form.invoice_line_ids.new() as line_form: line_form.product_id = self.env.ref("product.product_product_4") line_form.name = "product that cost 100" @@ -274,7 +276,9 @@ class TestAccountPaymentPartner(SavepointCase): self.assertEqual(invoice.partner_bank_id, self.partner_bank_model) def test_invoice_create_in_invoice(self): - invoice = self._create_invoice(default_type="in_invoice", partner=self.supplier) + invoice = self._create_invoice( + default_move_type="in_invoice", partner=self.supplier + ) invoice.action_post() aml = invoice.line_ids.filtered( lambda l: l.account_id.user_type_id == self.acct_type_payable @@ -283,28 +287,32 @@ class TestAccountPaymentPartner(SavepointCase): def test_invoice_create_out_invoice(self): invoice = self._create_invoice( - default_type="out_invoice", partner=self.customer + default_move_type="out_invoice", partner=self.customer ) invoice.action_post() aml = invoice.line_ids.filtered( lambda l: l.account_id.user_type_id == self.acct_type_receivable ) - 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_create_out_refund(self): self.manual_out.bank_account_required = False - invoice = self._create_invoice(default_type="out_refund", partner=self.customer) + invoice = self._create_invoice( + default_move_type="out_refund", partner=self.customer + ) invoice.action_post() - self.assertEquals( + self.assertEqual( invoice.payment_mode_id, self.customer.customer_payment_mode_id.refund_payment_mode_id, ) def test_invoice_create_in_refund(self): self.manual_in.bank_account_required = False - invoice = self._create_invoice(default_type="in_refund", partner=self.supplier) + invoice = self._create_invoice( + default_move_type="in_refund", partner=self.supplier + ) invoice.action_post() - self.assertEquals( + self.assertEqual( invoice.payment_mode_id, self.supplier.supplier_payment_mode_id.refund_payment_mode_id, ) @@ -371,8 +379,10 @@ class TestAccountPaymentPartner(SavepointCase): self.supplier_payment_mode.company_id = self.company_2 def test_invoice_in_refund(self): - invoice = self._create_invoice(default_type="in_invoice", partner=self.supplier) - invoice.invoice_partner_bank_id = False + invoice = self._create_invoice( + default_move_type="in_invoice", partner=self.supplier + ) + invoice.partner_bank_id = False invoice.action_post() # Lets create a refund invoice for invoice_1. # I refund the invoice Using Refund Button. @@ -390,19 +400,17 @@ class TestAccountPaymentPartner(SavepointCase): refund_invoice = self.move_model.browse( refund_invoice_wizard.reverse_moves()["res_id"] ) - self.assertEquals( + self.assertEqual( refund_invoice.payment_mode_id, invoice.payment_mode_id.refund_payment_mode_id, ) - self.assertEquals( - refund_invoice.invoice_partner_bank_id, invoice.invoice_partner_bank_id - ) + self.assertEqual(refund_invoice.partner_bank_id, invoice.partner_bank_id) def test_invoice_out_refund(self): invoice = self._create_invoice( - default_type="out_invoice", partner=self.customer + default_move_type="out_invoice", partner=self.customer ) - 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. @@ -421,13 +429,11 @@ class TestAccountPaymentPartner(SavepointCase): refund_invoice_wizard.reverse_moves()["res_id"] ) - self.assertEquals( + self.assertEqual( refund_invoice.payment_mode_id, invoice.payment_mode_id.refund_payment_mode_id, ) - self.assertEquals( - refund_invoice.invoice_partner_bank_id, invoice.invoice_partner_bank_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}) @@ -441,27 +447,25 @@ class TestAccountPaymentPartner(SavepointCase): ) 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": self.customer.id, "type": "out_refund"} + self.assertEqual(self.supplier_invoice.partner_bank_id, self.supplier_bank) + vals = {"partner_id": self.customer.id, "move_type": "out_refund"} invoice = self.move_model.new(vals) - self.assertEquals(invoice.payment_mode_id, self.supplier_payment_mode) - vals = {"partner_id": self.supplier.id, "type": "in_refund"} + self.assertEqual(invoice.payment_mode_id, self.supplier_payment_mode) + vals = {"partner_id": self.supplier.id, "move_type": "in_refund"} invoice = self.move_model.new(vals) - self.assertEquals(invoice.payment_mode_id, self.customer_payment_mode) - vals = {"partner_id": False, "type": "out_invoice"} + self.assertEqual(invoice.payment_mode_id, self.customer_payment_mode) + 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": "out_refund"} + vals = {"partner_id": False, "move_type": "out_refund"} invoice = self.move_model.new(vals) - self.assertFalse(invoice.invoice_partner_bank_id) - vals = {"partner_id": False, "type": "in_invoice"} + self.assertFalse(invoice.partner_bank_id) + vals = {"partner_id": False, "move_type": "in_invoice"} invoice = self.move_model.new(vals) - self.assertFalse(invoice.invoice_partner_bank_id) - vals = {"partner_id": False, "type": "in_refund"} + self.assertFalse(invoice.partner_bank_id) + vals = {"partner_id": False, "move_type": "in_refund"} 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