diff --git a/fonction_utilitaire/__pycache__/fonctions_utilitaire.cpython-310.pyc b/fonction_utilitaire/__pycache__/fonctions_utilitaire.cpython-310.pyc index bef30f7..5ffca5e 100644 Binary files a/fonction_utilitaire/__pycache__/fonctions_utilitaire.cpython-310.pyc and b/fonction_utilitaire/__pycache__/fonctions_utilitaire.cpython-310.pyc differ diff --git a/gestion_employe/__pycache__/views.cpython-310.pyc b/gestion_employe/__pycache__/views.cpython-310.pyc index d5f1784..75bc541 100644 Binary files a/gestion_employe/__pycache__/views.cpython-310.pyc and b/gestion_employe/__pycache__/views.cpython-310.pyc differ diff --git a/gestion_employe/views.py b/gestion_employe/views.py index 534e187..49b08bb 100644 --- a/gestion_employe/views.py +++ b/gestion_employe/views.py @@ -3,8 +3,8 @@ from datetime import datetime, timedelta import requests from dateutil.relativedelta import relativedelta +from decouple import config from django.contrib import messages -from django.contrib.auth import logout from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User from django.contrib.auth.password_validation import validate_password @@ -27,6 +27,18 @@ def index(request): if not request.user.groups.filter(name="ressource_humaine").exists(): return redirect('gestion_employe:mon-profil') + response = requests.get(f"{config('SERVEUR_AUTHENTIFICATION')}recuperer-list-departement/") + + if response.status_code == 200: + try: + departements_data = response.json() + for dept in departements_data: + Departement.objects.update_or_create( + nom = dept['nom'] + ) + except json.JSONDecodeError as e: + print(f"[ERROR] Erreur lors du décodage JSON : {e}") + employes = Employe.objects.all().order_by('-user__date_joined') nombre_employes = Employe.objects.count() nombre_cps = Contrat.objects.filter(type_contrat='contrat_prestation').count() @@ -521,7 +533,7 @@ def modifier_mot_passe(request): } response = requests.post( - "http://localhost:8000/modifier-mot-de-passe/", + f"{config('SERVEUR_AUTHENTIFICATION')}modifier-mot-de-passe/", json=donnees, headers=headers ) diff --git a/gestion_salle/__pycache__/views.cpython-310.pyc b/gestion_salle/__pycache__/views.cpython-310.pyc index 277fbe0..48c7708 100644 Binary files a/gestion_salle/__pycache__/views.cpython-310.pyc and b/gestion_salle/__pycache__/views.cpython-310.pyc differ diff --git a/gestion_salle/views.py b/gestion_salle/views.py index 2707432..065fea8 100644 --- a/gestion_salle/views.py +++ b/gestion_salle/views.py @@ -16,7 +16,7 @@ from .models import Reservation @login_required def index(request: HttpRequest): - + """Vue d'affichage de la page d'accueil de la gestion des salles""" try: employe = Employe.objects.get(user=request.user) except Employe.DoesNotExist: @@ -37,11 +37,11 @@ def index(request: HttpRequest): besoin_ordi = form.cleaned_data['besoin_ordi'] if date_fin < date_debut: - messages.error(request, "Date fin invalide.") + messages.error(request, "La date de fin est antérieure à la date de début.") return redirect('gestion_salle:reservation-salle') if heure_fin <= heure_debut: - messages.error(request, "Heure invalide.") + messages.error(request, "L'heure de fin est antérieure à l'heure de début.") return redirect('gestion_salle:reservation-salle') if not request.user.first_name.strip() or not request.user.last_name.strip(): @@ -55,7 +55,6 @@ def index(request: HttpRequest): current_date = date_debut while current_date <= date_fin: - reservation = Reservation.objects.create( employe=employe, date_debut=current_date, @@ -74,28 +73,25 @@ def index(request: HttpRequest): messages.success(request, "Réservation(s) créée(s) avec succès.") - if fonctions_utilitaire.EMAIL_ASSISTANTE_DE_DIRECTION: + if fonctions_utilitaire.EMAIL_ASSISTANTE_DE_DIRECTION and salle != "lien_zoom": 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.""", + message = f"""Bonjour, +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') - 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') + if (salle == "lien_zoom" or besoin_zoom or besoin_ordi) and 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()