mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[IMP] account_banking_mandate: Fill payment line with first valid mandate
This commit is contained in:
committed by
Enric Tobella
parent
5adeb942c5
commit
04e876192d
@@ -30,7 +30,7 @@ TODO
|
||||
Usage
|
||||
=====
|
||||
|
||||
To use this module, see menu "Accounting > payment > SEPA direct debit mandates"
|
||||
To use this module, see menu "Accounting > payment > SEPA direct debit mandates"
|
||||
|
||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||
:alt: Try me on Runbot
|
||||
@@ -61,6 +61,7 @@ Contributors
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Sergio Teruel (Incaser) <sergio@incaser.es>
|
||||
* Cédric Pigeon <cedric.pigeon@acsone.eu>
|
||||
* Carlos Dauden <carlos.dauden@tecnativa.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# © 2014 Tecnativa - Pedro M. Baeza
|
||||
# © 2015-2016 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
# Copyright 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
|
||||
# Copyright 2014 Tecnativa - Pedro M. Baeza
|
||||
# Copyright 2015-16 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# Copyright 2017 Tecnativa - Carlos Dauden <carlos.dauden@tecnativa.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
'name': 'Account Banking Mandate',
|
||||
'summary': 'Banking mandates',
|
||||
'version': '11.0.1.0.1',
|
||||
'version': '11.0.1.0.0',
|
||||
'version': '10.0.1.1.3',
|
||||
'license': 'AGPL-3',
|
||||
'author': "Compassion CH, "
|
||||
"Tecnativa, "
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# © 2016 Akretion (http://www.akretion.com/)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
# Copyright Akretion (http://www.akretion.com/)
|
||||
# Copyright 2017 Carlos Dauden <carlos.dauden@tecnativa.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
|
||||
from odoo import models, fields, api
|
||||
|
||||
@@ -16,14 +18,21 @@ class AccountMoveLine(models.Model):
|
||||
def _prepare_payment_line_vals(self, payment_order):
|
||||
vals = super(AccountMoveLine, self)._prepare_payment_line_vals(
|
||||
payment_order)
|
||||
if payment_order.payment_type == 'inbound' and self.mandate_id:
|
||||
vals['mandate_id'] = self.mandate_id.id
|
||||
vals['partner_bank_id'] = self.mandate_id.partner_bank_id.id
|
||||
partner_bank_id = vals.get('partner_bank_id', False)
|
||||
if partner_bank_id and 'mandate_id' not in vals:
|
||||
mandate = self.env['account.banking.mandate'].search(
|
||||
[('partner_bank_id', '=', partner_bank_id),
|
||||
('state', '=', 'valid')], limit=1)
|
||||
if mandate:
|
||||
vals['mandate_id'] = mandate.id
|
||||
if payment_order.payment_type != 'inbound':
|
||||
return vals
|
||||
mandate = self.mandate_id
|
||||
if not mandate and vals.get('mandate_id', False):
|
||||
mandate = mandate.browse(vals['mandate_id'])
|
||||
if not mandate:
|
||||
partner_bank_id = vals.get('partner_bank_id', False)
|
||||
if partner_bank_id:
|
||||
domain = [('partner_bank_id', '=', partner_bank_id)]
|
||||
else:
|
||||
domain = [('partner_id', '=', self.partner_id.id)]
|
||||
domain.append(('state', '=', 'valid'))
|
||||
mandate = mandate.search(domain, limit=1)
|
||||
vals.update({
|
||||
'mandate_id': mandate.id,
|
||||
'partner_bank_id': mandate.partner_bank_id.id or partner_bank_id,
|
||||
})
|
||||
return vals
|
||||
|
||||
Reference in New Issue
Block a user