diff --git a/account_banking_mandate/README.rst b/account_banking_mandate/README.rst index 4edff4f4d..3a60d851b 100644 --- a/account_banking_mandate/README.rst +++ b/account_banking_mandate/README.rst @@ -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 * Sergio Teruel (Incaser) * Cédric Pigeon +* Carlos Dauden Maintainer ---------- diff --git a/account_banking_mandate/__manifest__.py b/account_banking_mandate/__manifest__.py index f06a45a39..77a3a6023 100644 --- a/account_banking_mandate/__manifest__.py +++ b/account_banking_mandate/__manifest__.py @@ -1,13 +1,15 @@ # -*- coding: utf-8 -*- -# © 2014 Compassion CH - Cyril Sester -# © 2014 Tecnativa - Pedro M. Baeza -# © 2015-2016 Akretion - Alexis de Lattre -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +# Copyright 2014 Compassion CH - Cyril Sester +# Copyright 2014 Tecnativa - Pedro M. Baeza +# Copyright 2015-16 Akretion - Alexis de Lattre +# Copyright 2017 Tecnativa - Carlos Dauden +# 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, " diff --git a/account_banking_mandate/models/account_move_line.py b/account_banking_mandate/models/account_move_line.py index a3b80011b..98e792633 100644 --- a/account_banking_mandate/models/account_move_line.py +++ b/account_banking_mandate/models/account_move_line.py @@ -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 +# 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