From 0683e8772fb3a7d1955e679e17636506088b9c00 Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Thu, 5 Dec 2024 15:51:05 +0100
Subject: [PATCH] [UPD] update bordereau payment mode when removing mandate

---
 models/account_banking_mandate.py | 20 ++++++++++++++++++++
 models/scop_bordereau_cg.py       |  6 ------
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/models/account_banking_mandate.py b/models/account_banking_mandate.py
index 44eb99c..79743fc 100644
--- a/models/account_banking_mandate.py
+++ b/models/account_banking_mandate.py
@@ -19,6 +19,26 @@ class AccountBankingMandate(models.Model):
             "target": "new",
         }
 
+    # ------------------------------------------------------
+    # Inherits parent
+    # ------------------------------------------------------
+    def _remove_invoice_mandate(self, invoice_ids):
+        """
+        Supprime le mandat courant pur la facture passée en paramètre
+        :param invoice : objet account.move
+        """
+        res = super(AccountBankingMandate, self)._remove_invoice_mandate(invoice_ids)
+        payment_mode = self.env["account.payment.mode"].search(
+            [("name", "ilike", "Virement"), ("company_id", "=", self.env.company.id)],
+            limit=1,
+        )
+        bordereau_ids = invoice_ids.mapped("bordereau_id")
+        if bordereau_ids:
+            bordereau_ids.filtered(lambda b: b.state not in ["paid", "cancel"]).update({
+                "payment_mode_id": payment_mode.id if payment_mode else None,
+            })
+        return res
+
     # ------------------------------------------------------
     # Business functions
     # ------------------------------------------------------
diff --git a/models/scop_bordereau_cg.py b/models/scop_bordereau_cg.py
index 2d16857..0bbe53e 100644
--- a/models/scop_bordereau_cg.py
+++ b/models/scop_bordereau_cg.py
@@ -217,12 +217,6 @@ class Bordereau(models.Model):
         comodel_name="res.partner", compute="_compute_recipient"
     )
 
-    # TODO : Use when email active
-    # email_count = fields.Integer(
-    #     string='Nombre de mails',
-    #     compute='_compute_emails'
-    # )
-
     # Historique des versions
     bordereau_version_ids = fields.One2many(
         comodel_name="scop.bordereau.version",
-- 
GitLab