From 7cf12e5a4db37c24085146fe519bfdeb17c576a7 Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Tue, 23 Nov 2021 18:27:50 +0100 Subject: [PATCH] [add] IBAN validation on SDD --- models/account_payment_order.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/models/account_payment_order.py b/models/account_payment_order.py index 3fc26cb..c4685cd 100644 --- a/models/account_payment_order.py +++ b/models/account_payment_order.py @@ -2,6 +2,7 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import fields, models, api +from odoo.exceptions import ValidationError class AccountPaymentOrder(models.Model): @@ -76,3 +77,29 @@ class AccountPaymentOrder(models.Model): 'search_view_id': [search_id, 'search'], 'domain': [['payment_order_id', '=', self.id]], } + + # ------------------------------------------------------ + # Common function + # ------------------------------------------------------ + @api.multi + def check_sepa_order(self): + for order in self: + if not order.sepa: + msg = "Les comptes bancaires des coopératives suivantes ne sont pas corrects : \n" + payment_line_ids = order.payment_line_ids.mapped('partner_bank_id') + account_ids = payment_line_ids.filtered(lambda a: a.acc_type != 'iban') + for acc in account_ids: + msg += ' - ' + acc.partner_id.name + " - " + acc.acc_number + "\n" + + msg += "\nVeuillez corriger ces comptes bancaires pour pouvoir valider l'ordre de prélèvement." + raise ValidationError(msg) + else: + return True + + # ------------------------------------------------------ + # Override Parent + # ------------------------------------------------------ + @api.multi + def open2generated(self): + self.check_sepa_order() + return super(AccountPaymentOrder, self).open2generated() \ No newline at end of file -- GitLab