From c11350d49aedaacd23b8ac493d8e503653a12d51 Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Wed, 13 Dec 2023 11:04:51 +0100
Subject: [PATCH] HS: Fix basic HS previous data delete at save.

---
 src/Model/HydraulicStructures/Basic/HydraulicStructures.py | 4 ----
 src/Model/HydraulicStructures/HydraulicStructures.py       | 5 +++++
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/Model/HydraulicStructures/Basic/HydraulicStructures.py b/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
index 706aea66..e7a5af5f 100644
--- a/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
+++ b/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
@@ -127,10 +127,6 @@ class BasicHS(SQLSubModel):
         return new
 
     def _db_save(self, execute, data=None):
-        execute(
-            "DELETE FROM hydraulic_structures_basic " +
-            f"WHERE id = {self.id}"
-        )
         hs_id = data['hs_id']
 
         sql = (
diff --git a/src/Model/HydraulicStructures/HydraulicStructures.py b/src/Model/HydraulicStructures/HydraulicStructures.py
index 5d9a7472..c301439b 100644
--- a/src/Model/HydraulicStructures/HydraulicStructures.py
+++ b/src/Model/HydraulicStructures/HydraulicStructures.py
@@ -172,6 +172,11 @@ class HydraulicStructure(SQLSubModel):
         execute(sql)
 
         data['hs_id'] = self.id
+        execute(
+            "DELETE FROM hydraulic_structures_basic " +
+            f"WHERE hs = {self.id}"
+        )
+
         for basic in self._data:
             basic._db_save(execute, data)
 
-- 
GitLab