diff --git a/.coverage:Zone.Identifier b/.coverage:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/.coverage:Zone.Identifier differ diff --git a/.gitignore b/.gitignore index d962d96..a394e85 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .ruff_cache/ .coverage -db.sqlite3 \ No newline at end of file +db.sqlite3 +__pycache__/*.pyc \ No newline at end of file diff --git a/.gitignore:Zone.Identifier b/.gitignore:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/.gitignore:Zone.Identifier differ diff --git a/SGL/__init__.py:Zone.Identifier b/SGL/__init__.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__init__.py:Zone.Identifier differ diff --git a/SGL/__pycache__/__init__.cpython-310.pyc:Zone.Identifier b/SGL/__pycache__/__init__.cpython-310.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/__init__.cpython-310.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/__init__.cpython-313.pyc:Zone.Identifier b/SGL/__pycache__/__init__.cpython-313.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/__init__.cpython-313.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/settings.cpython-310.pyc:Zone.Identifier b/SGL/__pycache__/settings.cpython-310.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/settings.cpython-310.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/settings.cpython-313.pyc:Zone.Identifier b/SGL/__pycache__/settings.cpython-313.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/settings.cpython-313.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/urls.cpython-310.pyc b/SGL/__pycache__/urls.cpython-310.pyc index 0e09408..4ce8ae8 100644 Binary files a/SGL/__pycache__/urls.cpython-310.pyc and b/SGL/__pycache__/urls.cpython-310.pyc differ diff --git a/SGL/__pycache__/urls.cpython-310.pyc:Zone.Identifier b/SGL/__pycache__/urls.cpython-310.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/urls.cpython-310.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/urls.cpython-313.pyc:Zone.Identifier b/SGL/__pycache__/urls.cpython-313.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/urls.cpython-313.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/views.cpython-310.pyc b/SGL/__pycache__/views.cpython-310.pyc index 889c33c..0c78597 100644 Binary files a/SGL/__pycache__/views.cpython-310.pyc and b/SGL/__pycache__/views.cpython-310.pyc differ diff --git a/SGL/__pycache__/views.cpython-310.pyc:Zone.Identifier b/SGL/__pycache__/views.cpython-310.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/views.cpython-310.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/views.cpython-313.pyc:Zone.Identifier b/SGL/__pycache__/views.cpython-313.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/views.cpython-313.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/wsgi.cpython-310.pyc:Zone.Identifier b/SGL/__pycache__/wsgi.cpython-310.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/wsgi.cpython-310.pyc:Zone.Identifier differ diff --git a/SGL/__pycache__/wsgi.cpython-313.pyc:Zone.Identifier b/SGL/__pycache__/wsgi.cpython-313.pyc:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/__pycache__/wsgi.cpython-313.pyc:Zone.Identifier differ diff --git a/SGL/asgi.py:Zone.Identifier b/SGL/asgi.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/asgi.py:Zone.Identifier differ diff --git a/SGL/settings.py:Zone.Identifier b/SGL/settings.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/settings.py:Zone.Identifier differ diff --git a/SGL/templates/BASE.html:Zone.Identifier b/SGL/templates/BASE.html:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/templates/BASE.html:Zone.Identifier differ diff --git a/SGL/templates/emails/email_template.html:Zone.Identifier b/SGL/templates/emails/email_template.html:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/SGL/templates/emails/email_template.html:Zone.Identifier differ diff --git a/SGL/templates/index.html b/SGL/templates/index.html index 1cbfa17..254269a 100644 --- a/SGL/templates/index.html +++ b/SGL/templates/index.html @@ -124,6 +124,7 @@

Carnet de bord du vehicule

+ {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %}
diff --git a/gestion_vehicule/templates/gestion_vehicule/detail_vehicule.html:Zone.Identifier b/gestion_vehicule/templates/gestion_vehicule/detail_vehicule.html:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/gestion_vehicule/templates/gestion_vehicule/detail_vehicule.html:Zone.Identifier differ diff --git a/gestion_vehicule/templates/gestion_vehicule/index.html:Zone.Identifier b/gestion_vehicule/templates/gestion_vehicule/index.html:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/gestion_vehicule/templates/gestion_vehicule/index.html:Zone.Identifier differ diff --git a/gestion_vehicule/tests.py:Zone.Identifier b/gestion_vehicule/tests.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/gestion_vehicule/tests.py:Zone.Identifier differ diff --git a/gestion_vehicule/urls.py:Zone.Identifier b/gestion_vehicule/urls.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/gestion_vehicule/urls.py:Zone.Identifier differ diff --git a/gestion_vehicule/views.py b/gestion_vehicule/views.py index b0af07d..d441642 100644 --- a/gestion_vehicule/views.py +++ b/gestion_vehicule/views.py @@ -1,5 +1,6 @@ """Views pour la gestion des véhicules.""" +from pyexpat.errors import messages from django.shortcuts import render, redirect from django.http import JsonResponse @@ -12,7 +13,7 @@ from . import models @login_required(login_url="login") def index(request): - """Page d'accueil de la gestion des véhicules. + """Retournez la page d'accueil de la gestion des véhicules. Parameters ---------- @@ -43,7 +44,7 @@ def index(request): @login_required(login_url="login") def enregistrer_voiture(request): - """Enregistrer un nouveau véhicule dans le système. + """Enregistrez un nouveau véhicule. Parameters ---------- @@ -68,10 +69,9 @@ def enregistrer_voiture(request): return redirect("gestion_vehicule:index") return None - @login_required(login_url="login") def enregistrer_demande(request): - """Enregistrer une nouvelle demande de véhicule. + """Enregistrez une nouvelle demande de véhicule. Parameters ---------- @@ -112,7 +112,7 @@ def enregistrer_demande(request): @login_required(login_url="login") def liste_demande(request): - """Afficher la liste des demandes de véhicules. + """Affichez la liste des demandes de véhicules. La liste des demandes affichées dépend du groupe de l'utilisateur connecté: - Si l'utilisateur appartient au groupe "Chauffeur", seules les demandes @@ -184,7 +184,7 @@ def liste_demande(request): return JsonResponse(demandes_en_cours, safe=False) - +@login_required(login_url="login") def detail_course(request, id_demande): """Afficher les détails d'une demande de véhicule spécifique. @@ -207,8 +207,6 @@ def detail_course(request, id_demande): details_course = models.CarnetBord.objects.get(course=la_demande) - print("Détails course:", la_demande.id) - return render( request, "gestion_vehicule/detail_course.html", @@ -300,7 +298,7 @@ def statut_demande(request): @login_required(login_url="login") def detail_voiture(request, vehicule_id): - """Afficher les détails d'un véhicule spécifique. + """Affichez les détails d'un véhicule spécifique. Parameters ---------- @@ -330,7 +328,7 @@ def detail_voiture(request, vehicule_id): @login_required(login_url="login") def enregistrer_prise_carburant(request, course_id): - """Enregistrer une prise de carburant pour une course spécifique. + """Enregistrez une prise de carburant pour une course spécifique. Parameters ---------- @@ -359,7 +357,7 @@ def enregistrer_prise_carburant(request, course_id): @login_required(login_url="login") def carnet_carburant(request, vehicule_id): - """Afficher le carnet de carburant d'un véhicule spécifique. + """Affichez le carnet de carburant d'un véhicule spécifique. Parameters ---------- @@ -385,7 +383,7 @@ def carnet_carburant(request, vehicule_id): ) def carnet_sortie_vehicule(request, vehicule_id): - """Afficher le carnet de sortie d'un véhicule spécifique. + """Affichez le carnet de sortie d'un véhicule spécifique. Parameters ---------- @@ -408,10 +406,9 @@ def carnet_sortie_vehicule(request, vehicule_id): {"id_vehicule": vehicule_id}, ) - @login_required(login_url="login") def filtre_carnet_carburant(request): - """Filtrer les prises de carburant d'un véhicule pour un mois spécifique. + """Filtrez les prises de carburant d'un véhicule pour un mois spécifique. Parameters ---------- @@ -459,7 +456,7 @@ def filtre_carnet_carburant(request): return JsonResponse(mon_carnet, safe=False) def filtre_sortie_vehicule(request): - """Filtrer les sorties d'un véhicule pour un mois spécifique. + """Filtrez les sorties d'un véhicule pour un mois spécifique. Parameters ---------- @@ -509,7 +506,7 @@ def filtre_sortie_vehicule(request): @login_required(login_url="login") def enregistrer_carnet_bord(request, vehicule_id): - """Enregistrer ou mettre à jour le carnet de bord d'un véhicule. + """Enregistrez ou mettez à jour le carnet de bord d'un véhicule. Parameters ---------- @@ -534,7 +531,7 @@ def enregistrer_carnet_bord(request, vehicule_id): """ if request.method == "POST": annee, mois = request.POST["mois_concerne"].split("-") - carnet_bord, created = models.CarnetBord.objects.update_or_create( + _, created = models.CarnetBord.objects.update_or_create( mois_concerne="-".join([annee, mois, "01"]), defaults={ "km_debut_mois": request.POST["km_debut_mois"], @@ -544,15 +541,15 @@ def enregistrer_carnet_bord(request, vehicule_id): ) if created: - print("Création effectuée") + messages.success(request, "Création effectuée avec succès.") else: - print("Mise à jour effectué") + messages.success(request, "Mise à jour effectuée avec succès.") return redirect(detail_voiture, vehicule_id) @login_required(login_url="login") -def carnet_vehicule_information(request, mois_concerne): # noqa: ARG001 - """Récupérer les informations du carnet de bord pour un mois spécifique. +def carnet_vehicule_information(_request, mois_concerne): + """Récupérez les informations du carnet de bord pour un mois spécifique. Parameters ---------- @@ -584,7 +581,7 @@ def carnet_vehicule_information(request, mois_concerne): # noqa: ARG001 return JsonResponse(carnet_dict) def enregistrer_information_course_depart(request, id_demande): - """Enregistrer les informations de départ d'une course spécifique. + """Enregistrez les informations de départ d'une course spécifique. Parameters ---------- @@ -613,7 +610,7 @@ def enregistrer_information_course_depart(request, id_demande): return redirect("gestion_vehicule:detail-course", id_demande) def enregistrer_information_course_arrive(request, id_demande): - """Enregistrer les informations d'arrivée d'une course spécifique. + """Enregistrez les informations d'arrivée d'une course spécifique. Parameters ---------- @@ -632,17 +629,13 @@ def enregistrer_information_course_arrive(request, id_demande): demande = models.DemandeVehicule.objects.get(id=id_demande) vehicule = models.Vehicule.objects.get(id=demande.vehicule.id) - course_termier = False - if "course_terminer" in request.POST: - course_termier = True - course = models.CarnetBord.objects.get(course=demande) course.vehicule = vehicule course.course = demande course.heure_arrive = request.POST["heure-effectif-arrivee"] course.km_arrive = request.POST["kilometrage-arrivee"] - course.course_termine = course_termier + course.course_termine = "course-terminer" in request.POST course.save() return redirect("gestion_vehicule:detail-course", id_demande) diff --git a/gestion_vehicule/views.py:Zone.Identifier b/gestion_vehicule/views.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/gestion_vehicule/views.py:Zone.Identifier differ diff --git a/manage.py:Zone.Identifier b/manage.py:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/manage.py:Zone.Identifier differ diff --git a/media/fournisseur/nifp/Equipe_3_Fria_centre_Menage.pdf:Zone.Identifier b/media/fournisseur/nifp/Equipe_3_Fria_centre_Menage.pdf:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/fournisseur/nifp/Equipe_3_Fria_centre_Menage.pdf:Zone.Identifier differ diff --git a/media/fournisseur/nifp/IMG-20260102-WA0003.jpg b/media/fournisseur/nifp/IMG-20260102-WA0003.jpg new file mode 100644 index 0000000..e44dd35 Binary files /dev/null and b/media/fournisseur/nifp/IMG-20260102-WA0003.jpg differ diff --git a/media/fournisseur/nifp/IMG-20260102-WA0003.jpg:Zone.Identifier b/media/fournisseur/nifp/IMG-20260102-WA0003.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/fournisseur/nifp/IMG-20260102-WA0003.jpg:Zone.Identifier differ diff --git a/media/fournisseur/nifp/RAPPORT_DANALYSE_DU_10.12.2024.pdf:Zone.Identifier b/media/fournisseur/nifp/RAPPORT_DANALYSE_DU_10.12.2024.pdf:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/fournisseur/nifp/RAPPORT_DANALYSE_DU_10.12.2024.pdf:Zone.Identifier differ diff --git a/media/fournisseur/rccm/IMG-20260101-WA0004.jpg b/media/fournisseur/rccm/IMG-20260101-WA0004.jpg new file mode 100644 index 0000000..5494f14 Binary files /dev/null and b/media/fournisseur/rccm/IMG-20260101-WA0004.jpg differ diff --git a/media/fournisseur/rccm/IMG-20260101-WA0004.jpg:Zone.Identifier b/media/fournisseur/rccm/IMG-20260101-WA0004.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/fournisseur/rccm/IMG-20260101-WA0004.jpg:Zone.Identifier differ diff --git a/media/fournisseur/rccm/Programme-Master-Finance-Digitale-DIT.pdf:Zone.Identifier b/media/fournisseur/rccm/Programme-Master-Finance-Digitale-DIT.pdf:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/fournisseur/rccm/Programme-Master-Finance-Digitale-DIT.pdf:Zone.Identifier differ diff --git a/media/fournisseur/rccm/RAPPORT_DANALYSE_DU_10.12.2024.pdf:Zone.Identifier b/media/fournisseur/rccm/RAPPORT_DANALYSE_DU_10.12.2024.pdf:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/fournisseur/rccm/RAPPORT_DANALYSE_DU_10.12.2024.pdf:Zone.Identifier differ diff --git a/media/produit_image/ChatGPT_Image_1_janv._2026_22_53_05.png b/media/produit_image/ChatGPT_Image_1_janv._2026_22_53_05.png new file mode 100644 index 0000000..52ff8e2 Binary files /dev/null and b/media/produit_image/ChatGPT_Image_1_janv._2026_22_53_05.png differ diff --git a/media/produit_image/ChatGPT_Image_1_janv._2026_22_53_05.png:Zone.Identifier b/media/produit_image/ChatGPT_Image_1_janv._2026_22_53_05.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/ChatGPT_Image_1_janv._2026_22_53_05.png:Zone.Identifier differ diff --git a/media/produit_image/ChatGPT_Image_2_janv._2026_08_40_22.png b/media/produit_image/ChatGPT_Image_2_janv._2026_08_40_22.png new file mode 100644 index 0000000..9c6fb87 Binary files /dev/null and b/media/produit_image/ChatGPT_Image_2_janv._2026_08_40_22.png differ diff --git a/media/produit_image/ChatGPT_Image_2_janv._2026_08_40_22.png:Zone.Identifier b/media/produit_image/ChatGPT_Image_2_janv._2026_08_40_22.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/ChatGPT_Image_2_janv._2026_08_40_22.png:Zone.Identifier differ diff --git a/media/produit_image/Dr_youla.png b/media/produit_image/Dr_youla.png new file mode 100644 index 0000000..1400192 Binary files /dev/null and b/media/produit_image/Dr_youla.png differ diff --git a/media/produit_image/Dr_youla.png:Zone.Identifier b/media/produit_image/Dr_youla.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/Dr_youla.png:Zone.Identifier differ diff --git a/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR.jpg:Zone.Identifier b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR.jpg:Zone.Identifier differ diff --git a/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_RKxGJa0.jpg:Zone.Identifier b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_RKxGJa0.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_RKxGJa0.jpg:Zone.Identifier differ diff --git a/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_k6t6gJ7.jpg:Zone.Identifier b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_k6t6gJ7.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_k6t6gJ7.jpg:Zone.Identifier differ diff --git a/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_nGBZs9l.jpg:Zone.Identifier b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_nGBZs9l.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_nGBZs9l.jpg:Zone.Identifier differ diff --git a/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_ngW1veO.jpg:Zone.Identifier b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_ngW1veO.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/LOGO_AFRICAM_PREACTS_GUINEE_FR_ngW1veO.jpg:Zone.Identifier differ diff --git a/media/produit_image/Rplot.png:Zone.Identifier b/media/produit_image/Rplot.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/Rplot.png:Zone.Identifier differ diff --git a/media/produit_image/anasp.jpg b/media/produit_image/anasp.jpg new file mode 100644 index 0000000..7e15f0d Binary files /dev/null and b/media/produit_image/anasp.jpg differ diff --git a/media/produit_image/anasp.jpg:Zone.Identifier b/media/produit_image/anasp.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/anasp.jpg:Zone.Identifier differ diff --git a/media/produit_image/bilan_exploration.png:Zone.Identifier b/media/produit_image/bilan_exploration.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/bilan_exploration.png:Zone.Identifier differ diff --git a/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd.jpg:Zone.Identifier b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd.jpg:Zone.Identifier differ diff --git a/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_9idXmSP.jpg:Zone.Identifier b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_9idXmSP.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_9idXmSP.jpg:Zone.Identifier differ diff --git a/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_Pa9vHK7.jpg:Zone.Identifier b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_Pa9vHK7.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_Pa9vHK7.jpg:Zone.Identifier differ diff --git a/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_qrNf5vF.jpg:Zone.Identifier b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_qrNf5vF.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/exemple-de-rapport-lien-pdf-laboratoire-mgd_qrNf5vF.jpg:Zone.Identifier differ diff --git a/media/produit_image/gamal.jpg b/media/produit_image/gamal.jpg new file mode 100644 index 0000000..e82f3c4 Binary files /dev/null and b/media/produit_image/gamal.jpg differ diff --git a/media/produit_image/gamal.jpg:Zone.Identifier b/media/produit_image/gamal.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/gamal.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo.ico:Zone.Identifier b/media/produit_image/logo.ico:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo.ico:Zone.Identifier differ diff --git a/media/produit_image/logo.jpg:Zone.Identifier b/media/produit_image/logo.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo_3Ufp6I9.jpg:Zone.Identifier b/media/produit_image/logo_3Ufp6I9.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_3Ufp6I9.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo_8sK9e1R.jpg:Zone.Identifier b/media/produit_image/logo_8sK9e1R.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_8sK9e1R.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo_KeooBek.ico:Zone.Identifier b/media/produit_image/logo_KeooBek.ico:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_KeooBek.ico:Zone.Identifier differ diff --git a/media/produit_image/logo_M489mjN.jpg b/media/produit_image/logo_M489mjN.jpg new file mode 100644 index 0000000..adcfd68 Binary files /dev/null and b/media/produit_image/logo_M489mjN.jpg differ diff --git a/media/produit_image/logo_M489mjN.jpg:Zone.Identifier b/media/produit_image/logo_M489mjN.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_M489mjN.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo_cmYUgKP.jpg:Zone.Identifier b/media/produit_image/logo_cmYUgKP.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_cmYUgKP.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo_doq5TsE.jpg:Zone.Identifier b/media/produit_image/logo_doq5TsE.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_doq5TsE.jpg:Zone.Identifier differ diff --git a/media/produit_image/logo_fHPzfwp.ico:Zone.Identifier b/media/produit_image/logo_fHPzfwp.ico:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/logo_fHPzfwp.ico:Zone.Identifier differ diff --git a/media/produit_image/téléchargement.jpg:Zone.Identifier b/media/produit_image/téléchargement.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/téléchargement.jpg:Zone.Identifier differ diff --git a/media/produit_image/téléchargement_11nr3Zb.jpg:Zone.Identifier b/media/produit_image/téléchargement_11nr3Zb.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/téléchargement_11nr3Zb.jpg:Zone.Identifier differ diff --git a/media/produit_image/téléchargement_BmsEqGY.jpg:Zone.Identifier b/media/produit_image/téléchargement_BmsEqGY.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/téléchargement_BmsEqGY.jpg:Zone.Identifier differ diff --git a/media/produit_image/téléchargement_EwmRaDh.jpg:Zone.Identifier b/media/produit_image/téléchargement_EwmRaDh.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/produit_image/téléchargement_EwmRaDh.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/Dr_youla.png b/media/vehicule_image/Dr_youla.png new file mode 100644 index 0000000..1400192 Binary files /dev/null and b/media/vehicule_image/Dr_youla.png differ diff --git a/media/vehicule_image/Dr_youla.png:Zone.Identifier b/media/vehicule_image/Dr_youla.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/Dr_youla.png:Zone.Identifier differ diff --git a/media/vehicule_image/logo.ico:Zone.Identifier b/media/vehicule_image/logo.ico:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/logo.ico:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement.jpg:Zone.Identifier b/media/vehicule_image/téléchargement.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_0am1A2J.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_0am1A2J.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_0am1A2J.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_6pPxAX4.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_6pPxAX4.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_6pPxAX4.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_87hzfmh.jpg b/media/vehicule_image/téléchargement_87hzfmh.jpg new file mode 100644 index 0000000..0ccae34 Binary files /dev/null and b/media/vehicule_image/téléchargement_87hzfmh.jpg differ diff --git a/media/vehicule_image/téléchargement_87hzfmh.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_87hzfmh.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_87hzfmh.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_8FFpOHu.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_8FFpOHu.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_8FFpOHu.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_LpXAquO.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_LpXAquO.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_LpXAquO.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_VsOO72y.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_VsOO72y.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_VsOO72y.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_Z9fTDJk.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_Z9fTDJk.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_Z9fTDJk.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_h9sCIg4.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_h9sCIg4.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_h9sCIg4.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_kTZyDoZ.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_kTZyDoZ.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_kTZyDoZ.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_nbQMCJB.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_nbQMCJB.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_nbQMCJB.jpg:Zone.Identifier differ diff --git a/media/vehicule_image/téléchargement_yp1otbv.jpg:Zone.Identifier b/media/vehicule_image/téléchargement_yp1otbv.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/media/vehicule_image/téléchargement_yp1otbv.jpg:Zone.Identifier differ diff --git a/pyproject.toml:Zone.Identifier b/pyproject.toml:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/pyproject.toml:Zone.Identifier differ diff --git a/requirements.txt b/requirements.txt index 9f59de8..36afb4d 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/requirements.txt:Zone.Identifier b/requirements.txt:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/requirements.txt:Zone.Identifier differ diff --git a/static/css/base.css:Zone.Identifier b/static/css/base.css:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/css/base.css:Zone.Identifier differ diff --git a/static/css/bootstrap.min.css:Zone.Identifier b/static/css/bootstrap.min.css:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/css/bootstrap.min.css:Zone.Identifier differ diff --git a/static/css/cadran_image.css:Zone.Identifier b/static/css/cadran_image.css:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/css/cadran_image.css:Zone.Identifier differ diff --git a/static/css/tabulator_bootstrap5.min.css:Zone.Identifier b/static/css/tabulator_bootstrap5.min.css:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/css/tabulator_bootstrap5.min.css:Zone.Identifier differ diff --git a/static/images/exemple-produit.jpg:Zone.Identifier b/static/images/exemple-produit.jpg:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/images/exemple-produit.jpg:Zone.Identifier differ diff --git a/static/images/stock-bon.png:Zone.Identifier b/static/images/stock-bon.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/images/stock-bon.png:Zone.Identifier differ diff --git a/static/images/stock-prerupture.png:Zone.Identifier b/static/images/stock-prerupture.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/images/stock-prerupture.png:Zone.Identifier differ diff --git a/static/images/stock-rupture.png:Zone.Identifier b/static/images/stock-rupture.png:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/images/stock-rupture.png:Zone.Identifier differ diff --git a/static/js/Untitled-1.py b/static/js/Untitled-1.py deleted file mode 100644 index f2b4991..0000000 --- a/static/js/Untitled-1.py +++ /dev/null @@ -1,14 +0,0 @@ -table.setFilter("colors", "keywords", "red green blue"); //returns rows with a colors filed containing either the word "red", "green", or "blue" - -table.setFilter("colors", "keywords", "red green blue", {matchAll:true}); //returns rows with a colors filed containing ALL the words "red", "green" & "blue" - -function customFilter(data, filterParams){ - //data - the data for the row being filtered - //filterParams - params object passed to the filter - - return data.name == "bob" && data.height < filterParams.height; //must return a boolean, true if it passes the filter. -} - -table.setFilter(customFilter, {height:3}); - -table.refreshFilter(); \ No newline at end of file diff --git a/static/js/bootstrap.min.js:Zone.Identifier b/static/js/bootstrap.min.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/bootstrap.min.js:Zone.Identifier differ diff --git a/static/js/carnet_carburant.js:Zone.Identifier b/static/js/carnet_carburant.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/carnet_carburant.js:Zone.Identifier differ diff --git a/static/js/carnet_sortie_vehicule.js:Zone.Identifier b/static/js/carnet_sortie_vehicule.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/carnet_sortie_vehicule.js:Zone.Identifier differ diff --git a/static/js/detail_course.js:Zone.Identifier b/static/js/detail_course.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/detail_course.js:Zone.Identifier differ diff --git a/static/js/detail_gestion_vehicule.js b/static/js/detail_gestion_vehicule.js index 966b59b..47a0dbc 100644 --- a/static/js/detail_gestion_vehicule.js +++ b/static/js/detail_gestion_vehicule.js @@ -1,17 +1,3 @@ -// document.getElementById("id_mois_concerne").addEventListener("change", function () { -// fetch(`/gestion-produit/recuperer-fournisseur-categorie/${this.value}`) -// .then(response => response.json()) -// .then(data => { -// champs_fournisseur.innerHTML = ""; -// data.forEach(fournisseur => { -// const option = document.createElement("option"); -// option.value = fournisseur.id; -// option.text = fournisseur.nom_fournisseur; -// champs_fournisseur.appendChild(option); -// }); -// }) -// }) - carnetBordMois = document.querySelector("#carnetBordForm #id_mois_concerne"); carnetBordMois.addEventListener("change", function () { diff --git a/static/js/detail_gestion_vehicule.js:Zone.Identifier b/static/js/detail_gestion_vehicule.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/detail_gestion_vehicule.js:Zone.Identifier differ diff --git a/static/js/details_fournisseur.js:Zone.Identifier b/static/js/details_fournisseur.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/details_fournisseur.js:Zone.Identifier differ diff --git a/static/js/gestion_fournisseur_index.js:Zone.Identifier b/static/js/gestion_fournisseur_index.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/gestion_fournisseur_index.js:Zone.Identifier differ diff --git a/static/js/gestion_produit.js b/static/js/gestion_produit.js index a5761d1..ed23d32 100644 --- a/static/js/gestion_produit.js +++ b/static/js/gestion_produit.js @@ -17,7 +17,6 @@ document.addEventListener('DOMContentLoaded', function () { $('detailDateDemande').value = data.detailDeMiseADispo; $('detailARendre').checked = data.detailARendre ? true : false; - // Sauvegarde de l’ID pour les boutons d’action if(data.chef_departement){ $('confirmerBtn').dataset.id = produitId; $('refuserBtn').dataset.id = produitId; @@ -29,18 +28,20 @@ document.addEventListener('DOMContentLoaded', function () { }); function updateStatut(demandeId, action) { + const csrf = document.querySelector("[name=csrfmiddlewaretoken]").value; fetch('/gestion-produit/update-demande', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', + 'X-CSRFToken': csrf }, body: `id=${demandeId}&action=${action}&emetteur=chef` }) .then(response => response.json()) .then(data => { if (data.success) { - alert(`Demande ${action} avec succès !`); - location.reload(); // recharge la page pour voir le nouveau statut + alert(data.message); + location.reload(); } else { alert(data.message); } @@ -49,22 +50,22 @@ document.addEventListener('DOMContentLoaded', function () { } try{ - $('confirmerBtn').addEventListener('click', function () { - updateStatut(this.dataset.id, '1'); // '1' pour confirmer + $('confirmerBtn').addEventListener('click', function (e) { + e.preventDefault(); + updateStatut(this.dataset.id, '1'); }); - $('refuserBtn').addEventListener('click', function () { - updateStatut(this.dataset.id, '0'); // '0' pour refuser + $('refuserBtn').addEventListener('click', function (e) { + e.preventDefault(); + updateStatut(this.dataset.id, '0'); }); - }catch{ + }catch (error) { } - const tabulator = new Tabulator("#listeDemandeTable", { columns: [ { title: "Nom Produit", field: "produit", sorter: "string" }, - // { title: "Catégorie", field: "categorie", sorter: "string" }, { title: "Motif", field: "motifs", sorter: "string" }, { title: "Date de mise à disposition souhaitée", field: "dateDeMiseADispoSouhaite", sorter: "date" }, { title: "À Rendre", field: "a_rendre", sorter: "boolean", formatter: "tickCross" }, @@ -80,7 +81,7 @@ document.addEventListener('DOMContentLoaded', function () { ajaxURL: `${$("listeDemandeTable").dataset.url}`, }) - // ----------------------------------------------------------- FILTRE + // --------------------------- FILTRE PAR NOM DU PRODUIT ------------------------- $('searchInput').addEventListener('keyup', function() { const filter = this.value.toLowerCase(); const cards = document.querySelectorAll('.card'); @@ -104,7 +105,6 @@ document.addEventListener('DOMContentLoaded', function () { const champs_produit = $("id_produit"); const champs_fournisseur = $("id_fournisseur"); champs_produit.value = idProduit; - // champs_produit.disabled = true; fetch(`/gestion-produit/recuperer-fournisseur-categorie/${idProduit}`) .then(response => response.json()) @@ -122,6 +122,7 @@ document.addEventListener('DOMContentLoaded', function () { }) }); + // Fenetre modal pour emettre une demande de nouveau produit const listeDemandeButton = document.querySelectorAll(".listeDemandeButton"); const demanderModal = new bootstrap.Modal($("demanderModal")); @@ -129,14 +130,13 @@ document.addEventListener('DOMContentLoaded', function () { demanderButton.addEventListener("click", function() { const produitCommanderId = this.dataset.id; const champs_produit = document.querySelector("#demanderModal #id_produit"); - // champs_produit.disabled = true; - champs_produit.value = produitCommanderId; demanderModal.show(); }) }); + // Filtre des produits par categorie $("filterCategorie").addEventListener("change", function(){ const card = document.querySelectorAll(".card"); const filtre = this.value; @@ -156,17 +156,19 @@ document.addEventListener('DOMContentLoaded', function () { } }) + // Enregistrement de nouveau produit $("enregistrement-produit-form").addEventListener("submit", function (e) { e.preventDefault(); const form = this; const url = this.dataset.url; - // const csrf = + const csrf = document.querySelector('[name=csrfmiddlewaretoken]').value; fetch( url, { method: "POST", headers: { - "X-Requested-With": "XMLHttpRequest" + "X-Requested-With": "XMLHttpRequest", + "X-CSRFToken": csrf }, body: new FormData(form) } @@ -181,6 +183,12 @@ document.addEventListener('DOMContentLoaded', function () {
`; form.reset(); + }else{ + messageZone.innerHTML = ` +
+ ${data.message} +
+ `; } }) }) @@ -188,44 +196,45 @@ document.addEventListener('DOMContentLoaded', function () { $('enregistrerProduit').addEventListener("hidden.bs.modal", function () { location.reload() }) -}); - -// --------------------------------- Tableau categorie -const url_liste_categorie = $("listecategorie").dataset.url; -const tableau_categorie = new Tabulator("#listecategorie", { - columns: [ - {title: "Nom de la catégorie", field: "categorie"} - ], - ajaxURL: url_liste_categorie -}) - -$("enregistrer-categorie").addEventListener("submit", function (e) { - e.preventDefault(); - const form = this; - const url = this.dataset.url; - - fetch(url, { - method: "POST", - headers:{ - "X-Requested-With": "XMLHttpResponse" - }, - body: new FormData(form) + // --------------------------- Gestion des categories ------------------------- + const url_liste_categorie = $("listecategorie").dataset.url; + const tableau_categorie = new Tabulator("#listecategorie", { + columns: [ + {title: "Nom de la catégorie", field: "categorie"} + ], + ajaxURL: url_liste_categorie }) - .then(response => response.json()) - .then(data => { - if(data.success){ - const messageBox = $("message-creation-categorie"); - messageBox.innerHTML = ` -
- Categorie crée avec succès -
- `; - tableau_categorie.setData(url_liste_categorie); - } - }) -}) -$("enregistrerCategorie").addEventListener("hidden.bs.modal", function () { - location.reload(); -}) \ No newline at end of file + $("enregistrer-categorie").addEventListener("submit", function (e) { + e.preventDefault(); + const form = this; + const url = this.dataset.url; + const csrf = document.querySelector('[name=csrfmiddlewaretoken]').value; + + fetch(url, { + method: "POST", + headers:{ + "X-Requested-With": "XMLHttpResponse", + "X-CSRFToken": csrf + }, + body: new FormData(form) + }) + .then(response => response.json()) + .then(data => { + if(data.success){ + const messageBox = $("message-creation-categorie"); + messageBox.innerHTML = ` +
+ Categorie crée avec succès +
+ `; + tableau_categorie.setData(url_liste_categorie); + } + }) + }) + + $("enregistrerCategorie").addEventListener("hidden.bs.modal", function () { + location.reload(); + }) +}); \ No newline at end of file diff --git a/static/js/gestion_produit.js:Zone.Identifier b/static/js/gestion_produit.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/gestion_produit.js:Zone.Identifier differ diff --git a/static/js/gestion_vehicule.js:Zone.Identifier b/static/js/gestion_vehicule.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/gestion_vehicule.js:Zone.Identifier differ diff --git a/static/js/index.js b/static/js/index.js index 8060f7d..58028b2 100644 --- a/static/js/index.js +++ b/static/js/index.js @@ -93,10 +93,13 @@ $("produit_normal").addEventListener("click", function() { function updateStatut(demandeId, action, motifRefus='') { const url = $("radioRefuser").dataset.url; + const csrf = document.querySelector('[name=csrfmiddlewaretoken]').value; fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', + 'X-Requested-With': 'XMLHttpRequest', + 'X-CSRFToken': csrf }, body: `id=${demandeId}&action=${action}&emetteur=logisticien&motif_refus=${motifRefus}` }) @@ -144,11 +147,13 @@ table_commande.on("rowClick", function(e, row){ }); $('enregistrerModifsCommande').addEventListener('click', function () { + const csrf = document.querySelector('[name=csrfmiddlewaretoken]').value; if($("produit_livre").checked){ fetch(`${$("enregistrerModifsCommande").dataset.url}`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', + 'X-CSRFToken': csrf }, body: `id_commande=${$("enregistrerModifsCommande").dataset.id}` }) @@ -181,10 +186,12 @@ const tableau_equipement_rendre = new Tabulator("#tableau-equipement-rendre", { $("equipementARendreEnregistrer").addEventListener("click", function () { const information_equipement = tableau_equipement_rendre.getData(); + const csrf = document.querySelector('[name=csrfmiddlewaretoken]').value; fetch(`${$("equipementARendreEnregistrer").dataset.url}`, { method: "POST", headers: { - "Content-Type": "application/json", + "Content-Type": "application/json", + "X-CSRFToken": csrf }, body: JSON.stringify(information_equipement) }) diff --git a/static/js/index.js:Zone.Identifier b/static/js/index.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/index.js:Zone.Identifier differ diff --git a/static/js/mouvement_stock.js b/static/js/mouvement_stock.js index 0c8dac2..2847b9a 100644 --- a/static/js/mouvement_stock.js +++ b/static/js/mouvement_stock.js @@ -2,22 +2,22 @@ const $ = (id) => document.getElementById(id); const tableau_entre = new Tabulator("#tableau-stock-entree", { columns: [ - {title: "Produit", field: "produit"}, - {title: "Catégorie", field: "categorie"}, - {title: "Conditionnement", field: "conditionnement"}, - {title: "Fournisseur", field: "fournisseur"}, - {title: "Date de commande", field: "date_commande"}, - {title: "Date de livraison", field: "date_livraison"}, - {title: "Quantité commandée", field: "quantite_commander"}, + {title: "Produit", field: "produit_entree"}, + {title: "Catégorie", field: "categorie_entree"}, + {title: "Conditionnement", field: "conditionnement_entree"}, + {title: "Fournisseur", field: "fournisseur_entree"}, + {title: "Date de commande", field: "date_commande_entree"}, + {title: "Date de livraison", field: "date_livraison_entree"}, + {title: "Quantité commandée", field: "quantite_commander_entree"}, ], }) const tableau_sortie = new Tabulator("#tableau-stock-sortie", { columns: [ - {title: "Produit", field: "produit"}, - {title: "Catégorie", field: "categorie"}, - {title: "Conditionnement", field: "conditionnement"}, - {title: "Date de la demande", field: "date_demande"}, + {title: "Produit", field: "produit_sortie"}, + {title: "Catégorie", field: "categorie_sortie"}, + {title: "Conditionnement", field: "conditionnement_sortie"}, + {title: "Date de la demande", field: "date_demande_sortie"}, // {title: "Date de mise à disposition", field: "date_mise_a_dispo"}, {title: "Quantité demandée", field: "quantite_demander"}, ] @@ -37,16 +37,14 @@ filtreMois.addEventListener("change", function () { }) }) -$("type_operation").addEventListener("change", function () { - if(this.value === "entree"){ - $("tableau-stock-entree").style.display = ""; - $("tableau-stock-sortie").style.display = "none"; - } -}) - $("type_operation").addEventListener("change", function () { if(this.value === "sortie"){ $("tableau-stock-entree").style.display = "none"; $("tableau-stock-sortie").style.display = ""; } + + if(this.value === "entree"){ + $("tableau-stock-entree").style.display = ""; + $("tableau-stock-sortie").style.display = "none"; + } }) \ No newline at end of file diff --git a/static/js/mouvement_stock.js:Zone.Identifier b/static/js/mouvement_stock.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/mouvement_stock.js:Zone.Identifier differ diff --git a/static/js/tabulator.min.js:Zone.Identifier b/static/js/tabulator.min.js:Zone.Identifier new file mode 100644 index 0000000..d6c1ec6 Binary files /dev/null and b/static/js/tabulator.min.js:Zone.Identifier differ