From 5df22bae9c120e31fae503be046c3f3b8a7609d9 Mon Sep 17 00:00:00 2001
From: Julien Ortet <julien@le-filament.com>
Date: Wed, 21 May 2025 10:14:30 +0200
Subject: [PATCH] [UPD] handle removed directors

---
 models/res_partner.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/models/res_partner.py b/models/res_partner.py
index 2afba02..53f8e46 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -400,10 +400,26 @@ class ResPartner(models.Model):
                 inpi_data.formality.content.personneMorale.composition.pouvoirs
             )
 
+            # create new director
             for pouvoir in inpi_pouvoirs:
                 self.env["cgscop.inpi.director"].maj_from_inpi(
                     scop_id=self, inpi_pouvoir=pouvoir
                 )
+
+            # remove old
+            directors = self.env["cgscop.inpi.director"].search(
+                [
+                    ("partner_id", "=", self.id),
+                ]
+            )
+            for director in directors:
+                director_found = False
+                for pouvoir in inpi_pouvoirs:
+                    if pouvoir.individu.descriptionPersonne.nom == director.name:
+                        director_found = True
+                        break
+                if not director_found:
+                    director.unlink()
         else:
             logger.info(_(f"No dirigeants found for {self.name}: {self.siren}"))
 
-- 
GitLab