Première groose modification

This commit is contained in:
2026-04-27 14:27:07 +02:00
parent 4f9df2214c
commit f470cebfac
62 changed files with 437 additions and 160 deletions

View File

@@ -1,7 +1,8 @@
from django.utils import timezone
from gestion_employe.models import Contrat
from gestion_conge.models import Conge
from django.core.mail import send_mail
from gestion_salle.models import Reservation
QUOTA_CONGE_ANNUEL = 30
NOMBRE_PAGINATION = 8
@@ -11,7 +12,6 @@ DUREE_FIN_CONTRAT = 90
def solde_conge(employe):
"""Fonction de calcul du solde de congé restant l'employé"""
contrat = Contrat.objects.filter(employe=employe, statut='actif').order_by('-date_debut').first()
if contrat is None or not contrat.date_debut:
return {
"success": False,
@@ -31,4 +31,38 @@ def solde_conge(employe):
"success": True,
"quota_annuel": QUOTA_CONGE_ANNUEL - jours_conges_valider,
"nombre_jours_valide": jours_conges_valider
}
}
def envoyer_email(type_notification, utilisateur, contexte=None):
sujet = ""
message = ""
nom = f"{utilisateur.first_name} {utilisateur.last_name}"
if type_notification == "reservation_creee":
sujet = "Confirmation de votre réservation"
message = f"Bonjour {nom}, votre réservation a été enregistrée."
elif type_notification == "reservation_validee":
sujet = "Réservation validée"
message = f"Bonjour {nom}, votre réservation a été validée."
elif type_notification == "reservation_refusee":
sujet = "Réservation refusée"
message = f"Bonjour {nom}, votre réservation a été refusée."
elif type_notification == "reservation_annulee":
sujet = "Réservation annulée"
message = f"Bonjour {nom}, votre réservation a été annulée."
elif type_notification == "lien_zoom":
sujet = "Lien Zoom ajouté"
message = f"Bonjour {nom}, un lien Zoom a été ajouté à votre réservation : {Reservation.lien_zoom}"
send_mail(
sujet,
message,
"admin@tonsite.com",
[utilisateur.email],
fail_silently=False,
)