]> git.parisson.com Git - teleforma.git/commitdiff
Update balance fix
authorYoan Le Clanche <yoanl@pilotsystems.net>
Wed, 28 Jan 2026 13:15:42 +0000 (14:15 +0100)
committerYoan Le Clanche <yoanl@pilotsystems.net>
Wed, 28 Jan 2026 13:15:42 +0000 (14:15 +0100)
teleforma/models/crfpa.py

index a0a69f0345134f7d4b2b583ff9f8377bc1aaa746..db330830f42a427143d291d4a3445d671f9114ef 100755 (executable)
@@ -184,18 +184,7 @@ else:
         def __str__(self):
             return self.user.get_full_name()
 
-def update_balance_signal(sender, instance, *args, **kwargs):
-    try:
-        if sender is Student or sender:
-            instance.update_balance()
-        elif sender in (Discount, OptionalFee, Payment, Payback):
-            instance.student.update_balance()
-    except:
-        pass
-
-
-signals.post_save.connect(update_balance_signal)
-signals.post_delete.connect(update_balance_signal)
+# Les signaux pour update_balance sont définis après les modèles Payment, Discount, OptionalFee, Payback
 
 
 class Profile(models.Model):
@@ -357,6 +346,18 @@ class Payback(models.Model):
         verbose_name_plural = _("Paybacks")
 
 
+# Signaux pour mettre à jour automatiquement la balance des étudiants
+def update_balance_signal(sender, instance, *args, **kwargs):
+    if sender is Student:
+        instance.update_balance()
+    elif sender in (Discount, OptionalFee, Payment, Payback):
+        instance.student.update_balance()
+
+
+signals.post_save.connect(update_balance_signal)
+signals.post_delete.connect(update_balance_signal)
+
+
 class Home(models.Model):
 
     title = models.CharField('Title (interne)', max_length=255,