SGL avec une premiere implementation de SSO

This commit is contained in:
2026-08-03 14:31:48 +00:00
parent 76b9422d4c
commit 1e477287da
358 changed files with 798 additions and 745 deletions

View File

@@ -3,6 +3,7 @@
from django.shortcuts import render, redirect
from django.core.paginator import Paginator
from django.db.models import Sum
from authentification.models import Profile
# from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth.decorators import login_required
@@ -50,8 +51,9 @@ def gestion_affichage_demande(
Ensemble des demandes filtrées selon les critères spécifiés.
"""
profile = Profile.objects.get(user=request.user)
mes_demandes = Demander.objects.filter(
valider_par_chef=option_validation_chef, user=request.user.profile
valider_par_chef=option_validation_chef, user=profile
)
demandes_departement = None
@@ -74,7 +76,7 @@ def gestion_affichage_demande(
)
@login_required(login_url="login")
@login_required
def index(request):
"""Gérer le rendu de la page d'accueil de la gestion des produits.
@@ -139,7 +141,7 @@ def liste_categories(_request):
return JsonResponse(mes_categories, safe=False)
@login_required(login_url="login")
@login_required
def enregistrer_produit(request):
"""Enregistrez un nouveau produit à partir des données POST.
@@ -170,7 +172,7 @@ def enregistrer_produit(request):
return redirect("gestion_produit:index")
@login_required(login_url="login")
@login_required
def detail_produit(request, id_produit):
"""Renvoyez les détails d'un produit spécifique au format JSON.
@@ -208,7 +210,7 @@ def detail_produit(request, id_produit):
return JsonResponse(produit)
@login_required(login_url="login")
@login_required
def enregistrer_modification_produit(request):
"""Enregistrez les modifications apportées au produit à partir des données POST.
@@ -241,7 +243,7 @@ def enregistrer_modification_produit(request):
return redirect("gestion_produit:index")
@login_required(login_url="login")
@login_required
def enregistrer_commande(request):
"""Enregistrez une nouvelle commande de produit."""
if request.method == "POST":
@@ -251,7 +253,7 @@ def enregistrer_commande(request):
return redirect("gestion_produit:index")
@login_required(login_url="login")
@login_required
def enregistrer_demande(request):
"""Enregistrez une nouvelle demande de produit."""
if request.method == "POST":
@@ -265,7 +267,7 @@ def enregistrer_demande(request):
ma_demande.save()
return redirect("gestion_produit:index")
@login_required(login_url="login")
@login_required
def liste_demandes(request):
"""Retournez la liste des demandes de produits au format JSON."""
liste_demandes = gestion_affichage_demande(
@@ -287,7 +289,7 @@ def liste_demandes(request):
return JsonResponse(les_demandes, safe=False)
@login_required(login_url="login")
@login_required
def detail_demande(request, id_demande):
"""Renvoyez les détails d'une demande spécifique de produit."""
detail_demande = Demander.objects.get(id=id_demande)
@@ -303,7 +305,7 @@ def detail_demande(request, id_demande):
return JsonResponse(demande)
@login_required(login_url="login")
@login_required
def update_statut(request):
"""Met à jour le statut d'une demande de produit.
@@ -369,7 +371,7 @@ def update_statut(request):
{"success": False, "message": "Méthode non autorisée"}, status=405
)
@login_required(login_url="login")
@login_required
def recuperer_liste_produit(request):
"""Récupèrez et renvoyez la liste des produits paginés.
@@ -396,7 +398,7 @@ def recuperer_liste_produit(request):
{"page_obj": page_obj}
)
@login_required(login_url="login")
@login_required
def enregistrer_categorie(request):
"""Enregistrez une nouvelle catégorie de produit.
@@ -422,7 +424,7 @@ def enregistrer_categorie(request):
return JsonResponse({"success": False})
return None
@login_required(login_url="login")
@login_required
def recuperer_fournisseur_par_categorie(_request, id_produit):
"""Récupèrez les fournisseurs associés à la catégorie d'un produit donné.
@@ -501,7 +503,7 @@ def calcul_stock_produit(produit):
"stockActuel": stock_actuel,
}
@login_required(login_url="login")
@login_required
def mouvement_stock(request):
"""Retournez la page de mouvement de stock.
@@ -518,7 +520,7 @@ def mouvement_stock(request):
"""
return render(request, "gestion_produit/mouvement_stock.html")
@login_required(login_url="login")
@login_required
def rapport_mouvement_stock(request):
"""Générez un rapport de mouvement de stock basé sur les filtres donnés.