From 29efc8ed636a4b0ef79bdb85dc61c700023a7513 Mon Sep 17 00:00:00 2001
From: Bryan Brancotte <bryan.brancotte@pasteur.fr>
Date: Tue, 6 May 2025 16:34:00 +0200
Subject: [PATCH] notify that assemblies and job are associated on log in

---
 .../pre_basetheme_bootstrap/views.py          | 31 +++++++++++--------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py b/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py
index 9bcea6a..9507cca 100644
--- a/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py
+++ b/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py
@@ -1,5 +1,7 @@
 from basetheme_bootstrap.forms import AuthenticationForm
+from django.contrib import messages
 from django.contrib.auth import login
+from django.contrib.messages.context_processors import messages
 from django.contrib.sessions.models import Session
 from django.shortcuts import render, redirect
 
@@ -22,19 +24,22 @@ def loginView(request):
             if session_key:
                 try:
                     session = Session.objects.get(session_key=session_key)
-                    models.SimulatorJob.objects.filter(
-                        owning_session=session,
-                    ).update(
-                        owner=user,
-                        owning_session=None,
-                    )
-
-                    models.Assembly.objects.filter(
-                        owning_session=session,
-                    ).update(
-                        owner=user,
-                        owning_session=None,
-                    )
+                    for klass in [
+                        models.SimulatorJob,
+                        models.Assembly,
+                    ]:
+                        instance_to_migrate = klass.objects.filter(
+                            owning_session=session,
+                        )
+                        if instance_to_migrate.exists():
+                            messages.success(
+                                f"We successfully associated {instance_to_migrate.count()} "
+                                f"{klass._meta.verbose_name_plural.title()} with your account."
+                            )
+                            instance_to_migrate.update(
+                                owner=user,
+                                owning_session=None,
+                            )
 
                 except Session.DoesNotExist:
                     pass
-- 
GitLab