mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 15:33:22 +00:00
feat: Gestion des inscriptions [#1] feat(frontend): Création des vues pour le paramétrage de l'école [#2] feat: Gestion du login [#6] fix: Correction lors de la migration des modèle [#8] feat: Révision du menu principal [#9] feat: Ajout d'un footer [#10] feat: Création des dockers compose pour les environnements de développement et de production [#12] doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
# tasks.py
|
|
from celery import shared_task
|
|
from django.utils import timezone
|
|
from GestionInscriptions.automate import Automate_DI_Inscription, updateStateMachine
|
|
from .models import FicheInscription
|
|
from GestionMessagerie.models import Messagerie
|
|
from N3wtSchool import settings, bdd
|
|
import requests
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
logger.setLevel(logging.WARNING)
|
|
|
|
@shared_task
|
|
def check_for_signature_deadlines():
|
|
now = timezone.now()
|
|
deadline = now - timezone.timedelta(days=settings.EXPIRATION_DI_NB_DAYS)
|
|
# 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')
|
|
|
|
# Changer l'état de l'automate
|
|
updateStateMachine(dossier, 'relanceDI')
|
|
|
|
url = settings.URL_DJANGO + 'GestionMessagerie/message'
|
|
|
|
destinataires = dossier.eleve.profils.all()
|
|
for destinataire in destinataires:
|
|
message = {
|
|
"objet": "[RELANCE]",
|
|
"destinataire" : destinataire.id,
|
|
"corpus": "RELANCE pour le dossier d'inscription"
|
|
}
|
|
|
|
response = requests.post(url, json=message)
|
|
|
|
# subject = f"Dossier d'inscription non signé - {dossier.objet}"
|
|
# message = f"Le dossier d'inscription avec l'objet '{dossier.objet}' n'a pas été signé depuis {dossier.created_at}."
|
|
# send_mail(subject, message, settings.EMAIL_HOST_USER, [dossier.destinataire.email])
|