From da4ca7ee04d81ed2830917ca5245aacd87c167b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Marques?= Date: Thu, 11 Feb 2021 07:51:10 +0000 Subject: [PATCH] [IMP] account_payment_order_return: black, isort, prettier --- account_payment_order_return/__manifest__.py | 26 ++- .../test_account_payment_order_return.py | 167 ++++++++++-------- .../wizards/account_payment_line_create.py | 14 +- .../account_payment_line_create_view.xml | 11 +- 4 files changed, 120 insertions(+), 98 deletions(-) diff --git a/account_payment_order_return/__manifest__.py b/account_payment_order_return/__manifest__.py index adcdf6f20..e8e19e472 100644 --- a/account_payment_order_return/__manifest__.py +++ b/account_payment_order_return/__manifest__.py @@ -2,20 +2,14 @@ # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html { - 'name': 'Account Payment Order Return', - 'version': '12.0.1.1.0', - 'category': 'Banking addons', - 'author': 'Tecnativa, ' - 'Odoo Community Association (OCA)', - 'website': 'https://github.com/OCA/bank-payment', - 'depends': [ - 'account_payment_return', - 'account_payment_order', - ], - 'data': [ - 'wizards/account_payment_line_create_view.xml', - ], - 'license': 'AGPL-3', - 'installable': True, - 'auto_install': True, + "name": "Account Payment Order Return", + "version": "12.0.1.1.0", + "category": "Banking addons", + "author": "Tecnativa, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/bank-payment", + "depends": ["account_payment_return", "account_payment_order",], + "data": ["wizards/account_payment_line_create_view.xml",], + "license": "AGPL-3", + "installable": True, + "auto_install": True, } diff --git a/account_payment_order_return/tests/test_account_payment_order_return.py b/account_payment_order_return/tests/test_account_payment_order_return.py index cb73d4507..31f03f169 100644 --- a/account_payment_order_return/tests/test_account_payment_order_return.py +++ b/account_payment_order_return/tests/test_account_payment_order_return.py @@ -1,95 +1,124 @@ # Copyright 2017 Tecnativa - Luis M. Ontalba # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0 -from odoo.tests import common from odoo import fields +from odoo.tests import common class TestAccountPaymentOrderReturn(common.SavepointCase): @classmethod def setUpClass(cls): super(TestAccountPaymentOrderReturn, cls).setUpClass() - cls.account_type = cls.env['account.account.type'].create({ - 'name': 'Test Account Type'}) - cls.a_receivable = cls.env['account.account'].create({ - 'code': 'TAA', - 'name': 'Test Receivable Account', - 'internal_type': 'receivable', - 'user_type_id': cls.account_type.id, - }) - cls.partner = cls.env['res.partner'].create({ - 'name': 'Test Partner 2', - 'parent_id': False, - }) - cls.journal = cls.env['account.journal'].create({ - 'name': 'Test Journal', - 'type': 'bank', - }) - cls.invoice = cls.env['account.invoice'].create({ - 'name': 'Test Invoice 3', - 'partner_id': cls.partner.id, - 'type': 'out_invoice', - 'journal_id': cls.journal.id, - 'invoice_line_ids': [(0, 0, { - 'account_id': cls.a_receivable.id, - 'name': 'Test line', - 'quantity': 1.0, - 'price_unit': 100.00, - })], - }) - cls.payment_mode = cls.env['account.payment.mode'].create({ - 'name': 'Test payment mode', - 'fixed_journal_id': cls.journal.id, - 'bank_account_link': 'variable', - 'payment_method_id': cls.env.ref( - 'account.account_payment_method_manual_in').id}) - cls.payment_order = cls.env['account.payment.order'].create({ - 'payment_mode_id': cls.payment_mode.id, - 'date_prefered': 'due', - 'payment_type': 'inbound', - }) + cls.account_type = cls.env["account.account.type"].create( + {"name": "Test Account Type"} + ) + cls.a_receivable = cls.env["account.account"].create( + { + "code": "TAA", + "name": "Test Receivable Account", + "internal_type": "receivable", + "user_type_id": cls.account_type.id, + } + ) + cls.partner = cls.env["res.partner"].create( + {"name": "Test Partner 2", "parent_id": False,} + ) + cls.journal = cls.env["account.journal"].create( + {"name": "Test Journal", "type": "bank",} + ) + cls.invoice = cls.env["account.invoice"].create( + { + "name": "Test Invoice 3", + "partner_id": cls.partner.id, + "type": "out_invoice", + "journal_id": cls.journal.id, + "invoice_line_ids": [ + ( + 0, + 0, + { + "account_id": cls.a_receivable.id, + "name": "Test line", + "quantity": 1.0, + "price_unit": 100.00, + }, + ) + ], + } + ) + cls.payment_mode = cls.env["account.payment.mode"].create( + { + "name": "Test payment mode", + "fixed_journal_id": cls.journal.id, + "bank_account_link": "variable", + "payment_method_id": cls.env.ref( + "account.account_payment_method_manual_in" + ).id, + } + ) + cls.payment_order = cls.env["account.payment.order"].create( + { + "payment_mode_id": cls.payment_mode.id, + "date_prefered": "due", + "payment_type": "inbound", + } + ) def test_global(self): self.invoice.action_invoice_open() - wizard_o = self.env['account.payment.line.create'] + wizard_o = self.env["account.payment.line.create"] context = wizard_o._context.copy() - context.update({ - 'active_model': 'account.payment.order', - 'active_id': self.payment_order.id, - }) - wizard = wizard_o.with_context(context).create({ - 'order_id': self.payment_order.id, - 'journal_ids': [(4, self.journal.id)], - 'allow_blocked': True, - 'date_type': 'move', - 'move_date': fields.Date.today(), - 'payment_mode': 'any', - 'invoice': True, - 'include_returned': True, - - }) + context.update( + { + "active_model": "account.payment.order", + "active_id": self.payment_order.id, + } + ) + wizard = wizard_o.with_context(context).create( + { + "order_id": self.payment_order.id, + "journal_ids": [(4, self.journal.id)], + "allow_blocked": True, + "date_type": "move", + "move_date": fields.Date.today(), + "payment_mode": "any", + "invoice": True, + "include_returned": True, + } + ) wizard.populate() self.assertTrue(len(wizard.move_line_ids), 1) self.receivable_line = self.invoice.move_id.line_ids.filtered( - lambda x: x.account_id.internal_type == 'receivable') + lambda x: x.account_id.internal_type == "receivable" + ) # Invert the move to simulate the payment - self.payment_move = self.invoice.move_id.copy({ - 'journal_id': self.journal.id - }) + self.payment_move = self.invoice.move_id.copy({"journal_id": self.journal.id}) for move_line in self.payment_move.line_ids: - move_line.with_context(check_move_validity=False).write({ - 'debit': move_line.credit, 'credit': move_line.debit}) + move_line.with_context(check_move_validity=False).write( + {"debit": move_line.credit, "credit": move_line.debit} + ) self.payment_line = self.payment_move.line_ids.filtered( - lambda x: x.account_id.internal_type == 'receivable') + lambda x: x.account_id.internal_type == "receivable" + ) # Reconcile both (self.receivable_line | self.payment_line).reconcile() # Create payment return - self.payment_return = self.env['payment.return'].create( - {'journal_id': self.journal.id, - 'line_ids': [ - (0, 0, {'partner_id': self.partner.id, - 'move_line_ids': [(6, 0, self.payment_line.ids)], - 'amount': self.payment_line.credit})]}) + self.payment_return = self.env["payment.return"].create( + { + "journal_id": self.journal.id, + "line_ids": [ + ( + 0, + 0, + { + "partner_id": self.partner.id, + "move_line_ids": [(6, 0, self.payment_line.ids)], + "amount": self.payment_line.credit, + }, + ) + ], + } + ) self.payment_return.action_confirm() wizard.include_returned = False wizard.populate() diff --git a/account_payment_order_return/wizards/account_payment_line_create.py b/account_payment_order_return/wizards/account_payment_line_create.py index af489e1c8..8053158f1 100644 --- a/account_payment_order_return/wizards/account_payment_line_create.py +++ b/account_payment_order_return/wizards/account_payment_line_create.py @@ -5,19 +5,17 @@ from odoo import api, fields, models class AccountPaymentLineCreate(models.TransientModel): - _inherit = 'account.payment.line.create' + _inherit = "account.payment.line.create" - include_returned = fields.Boolean( - string='Include move lines from returns') + include_returned = fields.Boolean(string="Include move lines from returns") @api.multi def _prepare_move_line_domain(self): - domain = super(AccountPaymentLineCreate, - self)._prepare_move_line_domain() + domain = super(AccountPaymentLineCreate, self)._prepare_move_line_domain() if not self.include_returned: domain += [ - '|', - ('invoice_id', '=', False), - ('invoice_id.returned_payment', '=', False) + "|", + ("invoice_id", "=", False), + ("invoice_id.returned_payment", "=", False), ] return domain diff --git a/account_payment_order_return/wizards/account_payment_line_create_view.xml b/account_payment_order_return/wizards/account_payment_line_create_view.xml index bea4b1df3..3b43b25c7 100644 --- a/account_payment_order_return/wizards/account_payment_line_create_view.xml +++ b/account_payment_order_return/wizards/account_payment_line_create_view.xml @@ -1,14 +1,15 @@ - + - - + account.payment.line.create - + -