Fonctionnalite: Ajout des contrats
This commit is contained in:
301
notification/services.py
Normal file
301
notification/services.py
Normal file
@@ -0,0 +1,301 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user