From 9dc4f39bebb79a671209512350a10f64a4f363e5 Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Thu, 7 Nov 2024 15:00:36 +0100
Subject: [PATCH] [FIX] user subscription with same survey but different
 trainings

---
 models/survey_user_input.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/models/survey_user_input.py b/models/survey_user_input.py
index 35c8fa5..59b6f1e 100644
--- a/models/survey_user_input.py
+++ b/models/survey_user_input.py
@@ -56,9 +56,15 @@ class SurveyUserInput(models.Model):
         """
         # Gestion des doublons de réponse
         if self.survey_id.is_one_answer and self.email:
-            input_ids = self.survey_id.sudo().user_input_ids.filtered(
-                lambda user_input: user_input.email == self.email
-            )
+            if self.training_id:
+                input_ids = self.survey_id.sudo().user_input_ids.filtered(
+                    lambda user_input: user_input.email == self.email
+                    and user_input.training_id == self.training_id
+                )
+            else:
+                input_ids = self.survey_id.sudo().user_input_ids.filtered(
+                    lambda user_input: user_input.email == self.email
+                )
             old_input_ids = input_ids - self
             if old_input_ids:
                 if old_input_ids.filtered(lambda i: i.state == "done"):
-- 
GitLab