301 lines
6.8 KiB
Python
301 lines
6.8 KiB
Python
from django.core.mail import send_mail
|
|
from django.conf import settings
|
|
|
|
def send_notification_email(user, sujet, message):
|
|
"""
|
|
Fonction générique pour envoyer un email simple
|
|
"""
|
|
if not user.email:
|
|
return
|
|
send_mail(
|
|
sujet,
|
|
message,
|
|
settings.DEFAULT_FROM_EMAIL,
|
|
[user.email],
|
|
fail_silently=False,
|
|
)
|
|
|
|
def email_reservation_creee(reservation):
|
|
user = reservation.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre réservation a été enregistrée avec succès.
|
|
|
|
Salle : {reservation.salle}
|
|
Date : {reservation.date_debut}
|
|
Heure : {reservation.heure_debut} - {reservation.heure_fin}
|
|
Motif : {reservation.motif_reservation}
|
|
|
|
Merci.
|
|
"""
|
|
send_notification_email(user, "Confirmation de votre réservation", message)
|
|
|
|
def email_reservation_directeur(reservation, directeur):
|
|
message = f"""
|
|
Bonjour {directeur.get_full_name()},
|
|
|
|
Une nouvelle réservation attend votre validation.
|
|
|
|
Employé : {reservation.employe.user.get_full_name()}
|
|
Salle : {reservation.salle}
|
|
Date : Du {reservation.date_debut} au {reservation.date_fin}
|
|
Heure : {reservation.heure_debut} - {reservation.heure_fin}
|
|
Motif : {reservation.motif_reservation}
|
|
|
|
Connectez-vous à la plateforme pour valider.
|
|
|
|
https://support.cerfig.org/login/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(directeur, "Nouvelle réservation à valider", message)
|
|
|
|
def email_reservation_zoom(reservation, admin):
|
|
message = f"""
|
|
Bonjour {admin.get_full_name()},
|
|
|
|
Une demande de lien Zoom a été faite.
|
|
|
|
Employé : {reservation.employe.user.get_full_name()}
|
|
Date : {reservation.date_debut} au {reservation.date_fin}
|
|
Heure : {reservation.heure_debut} - {reservation.heure_fin}
|
|
Motif : {reservation.motif_reservation}
|
|
|
|
Veuillez créer le lien Zoom.
|
|
|
|
https://support.cerfig.org/login/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(admin, "Création lien Zoom requise", message)
|
|
|
|
def email_statut_reservation(reservation):
|
|
user = reservation.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Le statut de votre réservation a été mis à jour.
|
|
|
|
Salle : {reservation.salle}
|
|
Date : {reservation.date_debut}
|
|
Statut : {reservation.statut}
|
|
|
|
Merci de vous connecter
|
|
|
|
https://support.cerfig.org
|
|
|
|
Cordialement,
|
|
SIRH
|
|
|
|
"""
|
|
send_notification_email(user, "Mise à jour de votre réservation", message)
|
|
|
|
def email_reservation_validee(reservation):
|
|
user = reservation.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre réservation a été VALIDÉE.
|
|
|
|
Salle : {reservation.salle}
|
|
Date : {reservation.date_debut}
|
|
|
|
https://support.cerfig.org/login/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(user, "Réservation validée", message)
|
|
|
|
def email_reservation_refusee(reservation):
|
|
user = reservation.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre réservation a été REFUSÉE.
|
|
|
|
Salle : {reservation.salle}
|
|
Date : {reservation.date_debut}
|
|
|
|
https://support.cerfig.org/login/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(user, "Réservation refusée", message)
|
|
|
|
def email_contrat_cree(contrat):
|
|
user = contrat.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Un nouveau contrat a été créé pour vous.
|
|
|
|
Date début : {contrat.date_debut}
|
|
Date fin : {contrat.date_fin}
|
|
|
|
Bienvenue !
|
|
Merci de vous connecter pour plus informations sur votre contrat
|
|
|
|
https://support.cerfig.org
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
|
|
send_notification_email(user, "Nouveau contrat", message)
|
|
|
|
def email_statut_contrat(contrat):
|
|
user = contrat.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre contrat a été modifier par les ressource humaine .
|
|
veuillez vous connecter pour voir les nouvelles informations sur votre contrat
|
|
|
|
https://support.cerfig.org/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(user, "Mise à jour du contrat", message)
|
|
|
|
def email_affectation_projet(affectation):
|
|
user = affectation.employe.user
|
|
projet = affectation.projet
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre affectation au projet a été mise à jour.
|
|
|
|
Projet : {projet.nom}
|
|
Description : {projet.description}
|
|
Date début : {projet.date_debut}
|
|
Date fin : {projet.date_fin}
|
|
Rôle : {affectation.role}
|
|
|
|
Cordialement,
|
|
SIRH
|
|
|
|
"""
|
|
send_notification_email(user, "Affectation projet", message)
|
|
|
|
def email_expiration_fichier(projet, fichier, chef_projet):
|
|
message = f"""
|
|
Bonjour {chef_projet.get_full_name()},
|
|
|
|
Un fichier est proche de son expiration.
|
|
|
|
Projet : {projet.nom}
|
|
Fichier : {fichier.nom}
|
|
Date début : {fichier.date_debut}
|
|
Date fin : {fichier.date_fin}
|
|
|
|
https://support.cerfig.org/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
|
|
"""
|
|
send_notification_email(chef_projet, "Fichier proche expiration", message)
|
|
|
|
def email_conge_cree(conge):
|
|
user = conge.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre demande de congé a été enregistrée avec succès.
|
|
|
|
Type de congé : {conge.type_conge}
|
|
Date début : {conge.date_debut}
|
|
Date fin : {conge.date_fin}
|
|
Motif : {conge.motif}
|
|
|
|
Votre demande est en attente de validation.
|
|
|
|
https://support.cerfig.org/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(user, "Demande de congé enregistrée", message)
|
|
|
|
def email_conge_responsable(conge, responsable):
|
|
message = f"""
|
|
Bonjour {responsable.get_full_name()},
|
|
|
|
Une demande de congé nécessite votre validation.
|
|
|
|
Employé : {conge.employe.user.get_full_name()}
|
|
Type : {conge.type_conge}
|
|
Date : {conge.date_debut} au {conge.date_fin}
|
|
Motif : {conge.motif}
|
|
|
|
Merci de valider ou refuser.
|
|
|
|
https://support.cerfig.org/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(responsable, "Validation congé (Niveau 1)", message)
|
|
|
|
def email_conge_directeur(conge, directeur):
|
|
message = f"""
|
|
Bonjour {directeur.get_full_name()},
|
|
|
|
Une demande de congé a été validée par le responsable et attend votre validation finale.
|
|
|
|
Employé : {conge.employe.user.get_full_name()}
|
|
Type : {conge.type_conge}
|
|
Date : {conge.date_debut} au {conge.date_fin}
|
|
|
|
Merci de valider définitivement.
|
|
|
|
https://support.cerfig.org/login/
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(directeur, "Validation congé (Niveau 2)", message)
|
|
|
|
def email_conge_valide(conge):
|
|
user = conge.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre demande de congé a été VALIDÉE.
|
|
|
|
Type : {conge.type_conge}
|
|
Date : {conge.date_debut} au {conge.date_fin}
|
|
|
|
Bon repos a vous
|
|
|
|
https://support.cerfig.org
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(user, "Congé validé", message)
|
|
|
|
def email_conge_refuse(conge):
|
|
user = conge.employe.user
|
|
message = f"""
|
|
Bonjour {user.get_full_name()},
|
|
|
|
Votre demande de congé a été REFUSÉE.
|
|
|
|
Type : {conge.type_conge}
|
|
Date : {conge.date_debut} au {conge.date_fin}
|
|
|
|
Motif : {conge.motif_refus or "Non précisé"}
|
|
|
|
https://support.cerfig.org
|
|
|
|
Cordialement,
|
|
SIRH
|
|
"""
|
|
send_notification_email(user, "Congé refusé", message) |