Modification produit

This commit is contained in:
2026-01-21 16:33:01 +00:00
parent 1f523e61b5
commit 76b9422d4c
6 changed files with 202 additions and 11 deletions

View File

@@ -168,7 +168,78 @@ def enregistrer_produit(request):
}
)
return redirect(index)
return redirect("gestion_produit:index")
@login_required(login_url="login")
def detail_produit(request, id_produit):
"""Renvoyez les détails d'un produit spécifique au format JSON.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
id_produit : int
L'ID du produit dont on veut récupérer les détails.
Returns
-------
JsonResponse
Réponse JSON contenant les détails du produit.
"""
detail_produit = calcul_stock_produit(Produit.objects.get(id=id_produit))
categories = Categorie.objects.all()
produit = {
"detailId": detail_produit["id"],
"detailLibelle": detail_produit["libelle"],
"detailCategorie": detail_produit["categorie_id"],
"detailConditionnement": detail_produit["conditionnement"],
"detailSeuilPreRupture": detail_produit["seuil_pre_rupture"],
"detailQuantiteStock": detail_produit["stockActuel"],
"detailImage": detail_produit["image"].url if detail_produit["image"] else "",
"listeCategorie": [
{"id": categorie.id, "categorie": categorie.categorie}
for categorie in categories
],
}
return JsonResponse(produit)
@login_required(login_url="login")
def enregistrer_modification_produit(request):
"""Enregistrez les modifications apportées au produit à partir des données POST.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
JsonResponse
Réponse JSON indiquant le succès ou l'échec de l'enregistrement.
"""
if request.method == "POST":
id_produit = request.POST.get("id_produit")
produit_instance = Produit.objects.get(id=id_produit)
produit_instance.libelle = request.POST.get("libelle")
produit_instance.conditionnement = request.POST.get("conditionnement")
produit_instance.seuil_pre_rupture = request.POST.get("seuil_pre_rupture")
categorie_id = request.POST.get("categorie")
produit_instance.categorie = Categorie.objects.get(id=categorie_id)
produit_instance.quantite_stock = request.POST.get("quantite_stock")
produit_instance.save()
return JsonResponse(
{"success": True, "message": "Produit modifié avec succès"}
)
return redirect("gestion_produit:index")
@login_required(login_url="login")
def enregistrer_commande(request):