mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
Merge branch 'develop'
This commit is contained in:
@ -1,11 +1,12 @@
|
||||
from django.db.models.signals import post_save, post_delete, m2m_changed
|
||||
from django.dispatch import receiver
|
||||
from django.core.cache import cache
|
||||
|
||||
from GestionInscriptions.models import FicheInscription, Eleve, Responsable
|
||||
from GestionLogin.models import Profil
|
||||
from N3wtSchool import settings
|
||||
from N3wtSchool.redis_client import redis_client
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def clear_cache():
|
||||
# Préfixes des clés à supprimer
|
||||
@ -14,10 +15,10 @@ def clear_cache():
|
||||
for prefix in prefixes:
|
||||
# Utiliser le motif pour obtenir les clés correspondant au préfixe
|
||||
pattern = f'*{prefix}*'
|
||||
print(f'pattern : {pattern}')
|
||||
logger.debug(f'pattern : {pattern}')
|
||||
for key in redis_client.scan_iter(pattern):
|
||||
redis_client.delete(key)
|
||||
print(f'deleting : {key}')
|
||||
logger.debug(f'deleting : {key}')
|
||||
|
||||
@receiver(post_save, sender=FicheInscription)
|
||||
@receiver(post_delete, sender=FicheInscription)
|
||||
@ -26,9 +27,9 @@ def clear_cache_after_change(sender, instance, **kwargs):
|
||||
|
||||
@receiver(m2m_changed, sender=Eleve.responsables.through)
|
||||
def check_orphan_reponsables(sender, **kwargs):
|
||||
action = kwargs.pop('action', None)
|
||||
action = kwargs.pop('action', None)
|
||||
instance = kwargs.pop('instance', None)
|
||||
# pre_clear : lors de la suppression d'une FI (on fait un "clear" sur chaque relation)
|
||||
# pre_clear : lors de la suppression d'une FI (on fait un "clear" sur chaque relation)
|
||||
if action in ('post_remove', 'post_clear'):
|
||||
if instance.responsables.all():
|
||||
Responsable.objects.filter(eleve=None).delete()
|
||||
@ -37,7 +38,7 @@ def check_orphan_reponsables(sender, **kwargs):
|
||||
def check_orphan_profils(sender, **kwargs):
|
||||
action = kwargs.pop('action', None)
|
||||
instance = kwargs.pop('instance', None)
|
||||
# pre_clear : lors de la suppression d'une FI (on fait un "clear" sur chaque relation)
|
||||
# pre_clear : lors de la suppression d'une FI (on fait un "clear" sur chaque relation)
|
||||
if action in ('post_remove', 'post_clear'):
|
||||
if instance.profils.all():
|
||||
Profil.objects.filter(eleve=None).delete()
|
||||
|
||||
@ -8,7 +8,6 @@ from N3wtSchool import settings, bdd
|
||||
import requests
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(logging.WARNING)
|
||||
|
||||
@shared_task
|
||||
def check_for_signature_deadlines():
|
||||
@ -17,12 +16,12 @@ def check_for_signature_deadlines():
|
||||
# deadline = now - timezone.timedelta(seconds=settings.EXPIRATION_DI_NB_DAYS)
|
||||
|
||||
dossiers_en_attente = FicheInscription.objects.filter(etat=FicheInscription.EtatDossierInscription.DI_ENVOYE, dateMAJ__lt=deadline)
|
||||
|
||||
|
||||
for dossier in dossiers_en_attente:
|
||||
send_notification(dossier)
|
||||
|
||||
def send_notification(dossier):
|
||||
print(f'Dossier en attente.... {dossier} - Positionnement à l\'état A_RELANCER')
|
||||
logger.debug(f'Dossier en attente.... {dossier} - Positionnement à l\'état A_RELANCER')
|
||||
|
||||
# Changer l'état de l'automate
|
||||
updateStateMachine(dossier, 'relanceDI')
|
||||
@ -32,7 +31,7 @@ def send_notification(dossier):
|
||||
destinataires = dossier.eleve.profils.all()
|
||||
for destinataire in destinataires:
|
||||
message = {
|
||||
"objet": "[RELANCE]",
|
||||
"objet": "[RELANCE]",
|
||||
"destinataire" : destinataire.id,
|
||||
"corpus": "RELANCE pour le dossier d'inscription"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user