From 3148ba7c795691f8c1f02a53513fc280fe0b9b2c Mon Sep 17 00:00:00 2001 From: Pablo Montenegro Date: Wed, 6 Dec 2023 17:52:25 +0000 Subject: [PATCH] [MIG] payment_multic_ux: Migration to 17.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes ingadhoc/multi-company#135 Signed-off-by: Juan José Scarafía --- payment_multic_ux/__manifest__.py | 4 +-- payment_multic_ux/models/payment_provider.py | 33 +++++++++++--------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/payment_multic_ux/__manifest__.py b/payment_multic_ux/__manifest__.py index a94e0f8e..355a1a08 100644 --- a/payment_multic_ux/__manifest__.py +++ b/payment_multic_ux/__manifest__.py @@ -19,7 +19,7 @@ ############################################################################## { 'name': 'Payment Multicompany Usability', - 'version': "16.0.1.0.0", + 'version': "17.0.1.0.0", 'author': 'ADHOC SA', 'website': 'www.adhoc.com.ar', 'license': 'AGPL-3', @@ -28,6 +28,6 @@ ], 'data': [], 'demo': [], - 'installable': False, + 'installable': True, 'auto_install': False, } diff --git a/payment_multic_ux/models/payment_provider.py b/payment_multic_ux/models/payment_provider.py index 99dc2ce3..c581cc74 100644 --- a/payment_multic_ux/models/payment_provider.py +++ b/payment_multic_ux/models/payment_provider.py @@ -7,26 +7,29 @@ class PaymentProvider(models.Model): _inherit = 'payment.provider' - journal_id = fields.Many2one(compute=False, inverse='_inverse_journal_id', domain="[('type', 'in', ('bank', 'cash'))]") + journal_id = fields.Many2one(compute=False, inverse='_inverse_journal_id', domain="[('type', 'in', ('bank', 'cash'))]", check_company=False,) def _inverse_journal_id(self): + """ Reemplazamos método original """ for provider in self: + code = provider._get_code() payment_method_line = self.env['account.payment.method.line'].search([ - ('journal_id.company_id', '=', provider.company_id.id), - ('code', '=', provider.code) + *self.env['account.payment.method.line']._check_company_domain(provider.company_id), + ('code', '=', code), ], limit=1) if provider.journal_id: - default_payment_method_id = provider._get_default_payment_method_id( - provider.code - ) - existing_payment_method_line = self.env['account.payment.method.line'].search([ - ('payment_method_id', '=', default_payment_method_id), - ('journal_id', '=', provider.journal_id.id) - ], limit=1) - if not existing_payment_method_line: - self.env['account.payment.method.line'].create({ - 'payment_method_id': default_payment_method_id, - 'journal_id': provider.journal_id.id, - }) + self._link_payment_method_to_journal(provider) elif payment_method_line: payment_method_line.unlink() + + def _link_payment_method_to_journal(self, provider): + """ Reemplazamos método original """ + code = provider._get_code() + default_payment_method_id = provider._get_default_payment_method_id(provider._get_code()) + # cambio el dominio de búsqueda sino no me detecta el existing_payment_method_line y me lo duplica + existing_payment_method_line = self.env['account.payment.method.line'].search([('journal_id.company_id', '=', provider.company_id.id),('code', '=', provider.code),('payment_method_id', '=', default_payment_method_id),('code', '=', code),], limit=1) + if not existing_payment_method_line: + self.env['account.payment.method.line'].create({ + 'payment_method_id': default_payment_method_id, + 'journal_id': provider.journal_id.id, + })