From 29a42ee6be679cad8c968574230a36cf08854a78 Mon Sep 17 00:00:00 2001 From: Fatimac2804 Date: Thu, 10 Sep 2026 12:23:45 +0200 Subject: [PATCH] =?UTF-8?q?feat:Ajout=20notification=20email=20=C3=A9quipe?= =?UTF-8?q?=20informatique?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fonction_utilitaire/fonctions_utilitaire.py | 2 ++ gestion_salle/views.py | 22 +++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/fonction_utilitaire/fonctions_utilitaire.py b/fonction_utilitaire/fonctions_utilitaire.py index c60c140..9daa4ac 100644 --- a/fonction_utilitaire/fonctions_utilitaire.py +++ b/fonction_utilitaire/fonctions_utilitaire.py @@ -15,6 +15,8 @@ try: except: pass +EMAIL_EQUIPE_INFORMATIQUE = ["support@cerfig.org"] + 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() diff --git a/gestion_salle/views.py b/gestion_salle/views.py index 22c4f0e..2707432 100644 --- a/gestion_salle/views.py +++ b/gestion_salle/views.py @@ -78,11 +78,25 @@ def index(request: HttpRequest): fonctions_utilitaire.envoyer_mail( sujet = "Reservation de salle", message = f""" -Une nouvelle demande de réservation de la {dict(Reservation.TYPE_CHOICES).get(salle)} a été effectuée par {employe.user.first_name} {employe.user.last_name} du {form.cleaned_data.get('date_debut').strftime('%d/%m/%Y')} au {form.cleaned_data.get('date_fin').strftime('%d/%m/%Y')} pour motif "{motif}". -Veuillez vous connecter à la plateforme pour plus de détails.""", + Une nouvelle demande de réservation de la {dict(Reservation.TYPE_CHOICES).get(salle)} a été effectuée par {employe.user.first_name} {employe.user.last_name} du {form.cleaned_data.get('date_debut').strftime('%d/%m/%Y')} au {form.cleaned_data.get('date_fin').strftime('%d/%m/%Y')} pour motif "{motif}". + Veuillez vous connecter à la plateforme pour plus de détails.""", destinataires = fonctions_utilitaire.EMAIL_ASSISTANTE_DE_DIRECTION ) - return redirect('gestion_salle:reservation-salle') + # return redirect('gestion_salle:reservation-salle') + if salle == "lien_zoom" or besoin_zoom or besoin_ordi : + + if fonctions_utilitaire.EMAIL_EQUIPE_INFORMATIQUE: + fonctions_utilitaire.envoyer_mail( + sujet="Demande de lien Zoom", + message=f""" + Bonjour, + Une nouvelle demande de réservation de salle nécessitant un lien Zoom a été effectuée par {employe.user.first_name} {employe.user.last_name} du {date_debut.strftime('%d/%m/%Y')} au {date_fin.strftime('%d/%m/%Y')} de {heure_debut.strftime('%H:%M')} a {heure_fin.strftime('%H:%M')} pour le motif {motif} + + Veuillez vous connecter à la plateforme pour plus de détails.""", + destinataires=fonctions_utilitaire.EMAIL_EQUIPE_INFORMATIQUE + ) + return redirect('gestion_salle:reservation-salle') + formulaire_reservation = ReservationForm() departement = employe.departement @@ -101,7 +115,7 @@ Veuillez vous connecter à la plateforme pour plus de détails.""", } return render(request, "gestion_salle/index.html", context) - + def liste_reservation(request:HttpRequest): """Vue d'affichage des creneaux disponibles""" reservations = Reservation.objects.filter(statut = "validee")