Files
sgl/gestion_produit/__pycache__/views.cpython-310.pyc

264 lines
14 KiB
Plaintext
Raw Normal View History

2025-12-19 09:43:33 +00:00
o
2026-10-13 11:31:08 +00:00
<00>6<EFBFBD>j<EFBFBD>I<00>@sPdZddlmZmZddlmZddlmZmZddl m
Z
ddl m Z ddl mZdd lmZmZmZmZmZdd
lmZmZmZmZ d/d d <0A>Ze dd<0F><00>Zdd<11>Ze dd<13><00>Ze dd<15><00>Ze dd<17><00>Ze dd<19><00>Z e dd<1B><00>Z!e dd<1D><00>Z"e dd<1F><00>Z#e d d!<21><00>Z$e d"d#<23><00>Z%e d$d%<25><00>Z&e d&d'<27><00>Z'd(d)<29>Z(e d*d+<2B><00>Z)e d,d-<2D><00>Z*d.S)0z#Views pour la gestion des produits.<2E>)<02>render<65>redirect)<01> Paginator)<02>Sum<75>Q)<01>Profile)<01>login_required)<01> JsonResponse<73>)<05> Categorie<69>Produit<69>Demander<65> Fournisseur<75> Commander)<04>EnregistrementProduit<69>EnregistrementCategorie<69>CommanderProduit<69>DemanderProduitFcCsntjj|jd<01>}tjj||d<02>}d}|jjjr"tjj||jjjd<04>}|r/|r-||B<00> d<05>S|S|r5||BS|S)u<>Affichez les demandes de produit selon le profil de l'utilisateur.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
option_validation_chef : bool or None
Filtre pour la validation par le chef de département.
1- True : demandes validées par le chef.
2- False : demandes non validées par le chef.
3- None : demandes en attentes.
ordre_inverse : bool, optional
Si True, les demandes sont triées par ordre décroissant,
par défaut False.
Returns
-------
QuerySet:
Ensemble des demandes filtrées selon les critères spécifiés.
)<01>user)<02>valider_par_chefrN)r<00>user__departement<6E>-id)
2026-10-13 11:31:08 +00:00
r<00>objects<74>getrr <00>filter<65>profile<6C>chef_departement<6E> departement<6E>order_by)<06>request<73>option_validation_chef<65> ordre_inverser<00> mes_demandes<65>demandes_departement<6E>r$<00>%/var/www/sgl/gestion_produit/views.py<70>gestion_affichage_demandes*<06>
<06><0E><02><02><08><02><02>r&c Cs|j<00>dd<02>}|j<00>dd<02>}tj<03><04><00>d<04>}|dkr'|dkr'tj<03><04><00>d<05>}n;|dkr<|dkr<tj<03>t|d<06><01><01>d<05>}n&|dkrQ|dkrQtj<03>t|d<07><01><01>d<05>}ntj<03>t|d<07>t|d<06>@<00><01>d<05>}dd <09>|D<00>}t |d
<EFBFBD>}|j<00>d <0B>}|<06>
|<07>}t |d t t ttt|d d<0E>||d<0F><07>S)u<>Gérer le rendu de la page d'accueil de la gestion des produits.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
HttpResponse
La réponse HTTP contenant la page rendue.
<20>search<63><00>filterCategorie<69> categorier)<01>libelle__icontains<6E>r*cSsg|]}t|<01><01>qSr$)<01>calcul_stock_produit)<02>.0<EFBFBD>produitr$r$r%<00>
<listcomp>ps<06>zindex.<locals>.<listcomp><3E><00>page<67>gestion_produit/index.htmlN)r )<07>!formulaireEnregistrementCategorie<69>formulaireEnregistrementProduit<69>formulaireCommanderProduit<69>formulaireDemanderProduitr"<00>page_obj<62>liste_categorie)<11>GETrr r<00>allrr rrr<00>get_pagerrrrrr&) r<00> product_name<6D>categorie_namer9<00> liste_produit<69>liste_produit_finale<6C>
pagination<EFBFBD> page_numberr8r$r$r%<00>indexNsT<02><04><02><04><02><02><06>
2025-12-19 09:43:33 +00:00
 
<04><04><04>rCcCs dd<02>tj<01><02>D<00>}t|dd<04>S)uRecuperez et renvoyez la liste des catégories de produit au format JSON.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
JsonResponse
Réponse JSON contenant la liste des catégories de produits.
cSsg|]}d|ji<01>qSr,r,<00>r.r*r$r$r%r0<00>s<08><06>z$liste_categories.<locals>.<listcomp>F<><01>safe)r rr;r )<02>_request<73>mes_categoriesr$r$r%<00>liste_categories<65>s<06> rIcCsL|jdkr"t|j|j<03>}|<01><04>r|<01><05>tddd<04><02>Stddd<04><02>Std<07>S)uEnregistrez un nouveau produit à partir des données POST.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
JsonResponse
Réponse JSON indiquant le succès ou l'échec de l'enregistrement.
<20>POSTTu Produit enregistré avec succès<C3A8><02>success<73>messageFu&L'enregistrement du produit a échoué<75>gestion_produit:index)<08>methodrrJ<00>FILES<45>is_valid<69>saver r<00>r<00>formr$r$r%<00>enregistrer_produit<69>s
<04><04><04>rUc Csnttjj|d<01><01>}tj<02><05>}|d|d|d|d|d|d|dr)|djnd d
2026-01-21 16:33:01 +00:00
d <0B>|D<00>d <0C>}t|<04>S) uWRenvoyez 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.
<20><01>idrW<00>libelle<6C> categorie_id<69>conditionnement<6E>seuil_pre_rupture<72> stockActuel<65>imager(cS<00>g|] }|j|jd<00><02>qS)<01>rWr*r_rDr$r$r%r0<00>s <0C><06>z"detail_produit.<locals>.<listcomp>)<08>detailId<49> detailLibelle<6C>detailCategorie<69>detailConditionnement<6E>detailSeuilPreRupture<72>detailQuantiteStock<63> detailImage<67>listeCategorie)r-r rrr r;<00>urlr )rG<00>
2026-01-21 16:33:01 +00:00
id_produit<EFBFBD>detail_produit<69>
categoriesr/r$r$r%rj<00>s
<04><06>rjcCs<>|jdkrG|j<01>d<02>}tjj|d<03>}|j<01>d<04>|_|j<01>d<05>|_|j<01>d<06>|_|j<01>d<07>}tjj|d<03>|_ |j<01>d<08>|_
2026-01-21 16:33:01 +00:00
|<02> <0B>t d d
d <0B><02>St d <0C>S) u(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.
rJrirVrXrZr[r*<00>quantite_stockTuProduit modifié avec succèsrKrN)rOrJrr rrXrZr[r r*rlrRr r)rri<00>produit_instancerYr$r$r%<00> enregistrer_modification_produit<69>s
  <04>rncCs,|jdkrt|j<02>}|<01><03>r|<01><04>td<02>S)z-Enregistrez une nouvelle commande de produit.rJrN)rOrrJrQrRrrSr$r$r%<00>enregistrer_commandes
2025-12-19 09:43:33 +00:00

rocCsR|jdkr%t|j<02>}|<01><03>r%|jdd<03>}|jj|_|jjjr!d|_|<02><04>t d<05>S)z,Enregistrez une nouvelle demande de produit.rJF)<01>commitTrN)
rOrrJrQrRrrrrr)rrT<00>
ma_demander$r$r%<00>enregistrer_demandes
2025-12-19 09:43:33 +00:00

 

rrcCs(t|ddd<02>}dd<04>|D<00>}t|dd<06>S)z;Retournez la liste des demandes de produits au format JSON.T)r r!c Ss4g|]}|j|jj|j|j|j|j|j|jd<00><08>qS))<08> dateDemander/<00>motifs<66>a_rendre<72>dateDeMiseADispoSouhaiter<00>valider_par_logisticien<65> motifs_refus)<08>date_de_mise_a_dispo_souhaiter/rXrtrurrw<00> motif_refus<75>r.<00>demander$r$r%r0"s <04><04><06>z"liste_demandes.<locals>.<listcomp>FrE)r&r )r<00>liste_demandes<65> les_demandesr$r$r%r}s<06> <06> r}cCs>tjj|d<01>}|jj|jjj|j|j|j|j j
j d<02>}t |<03>S)u;Renvoyez les détails d'une demande spécifique de produit.rV)<06> detailNomrb<00> detailmotif<69>detailDeMiseADispo<70> detailARendrer) r rrr/rXr*rtryrurrrr )r<00>
id_demande<EFBFBD>detail_demander|r$r$r%r<>2s<06> r<>cCsx|jdkr<>|j<01>d<02>}|j<01>d<03>}|j<01>d<04>}|j<01>d<05>}t|||g<03>s-tddd<08>d d
2026-01-21 11:03:11 +00:00
<EFBFBD>Sz tjj|d <0B>}WntjyItdd d<08>d d
<EFBFBD>YSw||f r`dkr`\dkr`dkrad|_nH rtdkrt\dkrtdkrud|_ n4 r<>dkr<>\dkr<>dkr<>d|_n  r<>dkr<>\dkr<>dkr<>d|_ ||_
n  tddd<08>d d
<EFBFBD>S|<05> <0B>tddd<08><02>Stddd<08>dd
<EFBFBD>S)uiMet à jour le statut d'une demande de produit.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
request.id : int
L'ID de la demande à mettre à jour.
2026-01-21 11:03:11 +00:00
request.action : int
L'action effectuée
1: Pour confirmer
0: Pour refuser
2025-12-19 09:43:33 +00:00
request.emetteur : str
L'émetteur de la demande ('chef' ou 'logisticien').
request.motif_refus : str
2026-01-21 11:03:11 +00:00
Le motif de refus.
2025-12-19 09:43:33 +00:00
Returns
-------
JsonResponse
Réponse JSON indiquant le succès ou l'échec de la mise à jour.
rJrW<00>action<6F>emetteurrzFuDonnées manquantesrKi<>)<01>statusrVzDemande introuvablei<65><00><00>1<>chefT<66> logisticien<65>0uDonnées invalidesuStatut mis à jouruMéthode non autoriséei<65>) rOrJrr;r r r<00> DoesNotExistrrwrzrR)r<00>
produit_idr<EFBFBD>r<>rtr|r$r$r%<00> update_statutBsR
2026-01-21 11:03:11 +00:00
    
<06>
<EFBFBD><02><02><02><02><02><06>
<06>r<EFBFBD>cCs@tj<01><02><00>d<01>}t|d<02>}|j<05>d<03>}|<02>|<03>}t|dd|i<01>S)uRécupèrez et renvoyez la liste des produits paginés.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
HttpResponse
La réponse HTTP contenant la page rendue avec la liste des produits.
rr1r2r3r8) r rr;rrr:rr<r)rr?rArBr8r$r$r%<00>recuperer_liste_produit<69>s
2025-12-19 09:43:33 +00:00
 
<04>r<EFBFBD>cCs@|jdkrt|j<02>}|<01><03>r|<01><04>tddi<01>Stddi<01>SdS)uoEnregistrez une nouvelle catégorie de produit.
2025-12-19 09:43:33 +00:00
Cette vue est appelée via une requête AJAX avec la méthode POST et
enregistre une nouvelle.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
JsonResponse
Réponse JSON indiquant le succès ou l'échec de l'enregistrement.
rJrLTFN)rOrrJrQrRr )rrkr$r$r%<00>enregistrer_categorie<69>s
2026-01-21 11:03:11 +00:00

  r<>cCs8tjj|d<01>}tjj|jd<02>}dd<04>|D<00>}t|dd<06>S)u<>Récupèrez les fournisseurs associés à la catégorie d'un produit donné.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
id_produit : int
L'ID du produit dont on veut récupérer les fournisseurs.
Returns
-------
JsonResponse
Réponse JSON contenant la liste des fournisseurs associés à la
catégorie du produit.
rVr,cSr^))rW<00>nom_fournisseur)rW<00>nom_entreprise)r.<00>fournisseur_produitr$r$r%r0<00>s <04><04><06>z7recuperer_fournisseur_par_categorie.<locals>.<listcomp>FrE)r rrrrr*r )rGrir/<00> fournisseur<75>produit_founisseurr$r$r%<00>#recuperer_fournisseur_par_categorie<69>s <06> r<>c Cs<>tjjd|d<02><02>td<03><01>dpd}tjj|dd<06>}d}|D]}|jr'|jdus,|jdur1||j7}q|j ||}|j
2025-12-19 09:43:33 +00:00
|j |j |j |j |j|j|d<08>S) uCalculez le stock actuel d'un produit donné.
Parameters
----------
produit : Produit
L'instance du produit pour lequel calculer le stock.
Returns
-------
dict
Dictionnaire contenant les détails du produit et son stock actuel.
T)<02>livrerr/<00>quantite_commander<65>quantite_commander__sumr)r/rwF)rWrXrlrZr[r]rYr\)rrr<00> aggregaterr ru<00>rendu<64>quantiterlrWrXrZr[r]rY)r/<00>quantite_livrer<65>produit_demander_a_rendre<72>quantite_produit_sortis<69>produit_demander<65> stock_actuelr$r$r%r-<00>sB<02><04><02><06><02>
2025-12-19 09:43:33 +00:00


<02><02><04><06>r-cCs
2026-01-21 11:03:11 +00:00
t|d<01>S)u<>Retournez la page de mouvement de stock.
2025-12-19 09:43:33 +00:00
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
HttpResponse
La réponse HTTP contenant la page rendue.
z$gestion_produit/mouvement_stock.html)r)rr$r$r%<00>mouvement_stocks
r<>cCs<>g}|jd}|<02>d<02>\}}|jd}|dkr)|<01>dd<06>tjj||dd<08>D<00><01>n|d kr>|<01>d
2025-12-19 09:43:33 +00:00
d<06>tjj||dd <0B>D<00><01>t|d d <0A>S)u<>Générez un rapport de mouvement de stock basé sur les filtres donnés.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
request.GET["dateFiltre"] : str
La date de filtre au format "YYYY-MM".
request.GET["typeFiltre"] : str
Le type de filtre ("entree" ou "sortie").
Returns
-------
JsonResponse
Réponse JSON contenant le rapport de mouvement de stock.
<20>
2026-08-31 09:47:23 +00:00
dateFiltre<EFBFBD>-<2D>
2025-12-19 09:43:33 +00:00
typeFiltre<EFBFBD>entreec
Ss8g|]}|jj|jjj|jj|jj|j|j|jd<00><07>qS))<07>produit_entree<65>categorie_entree<65>conditionnement_entree<65>fournisseur_entree<65>date_commande_entree<65>date_livraison_entree<65>quantite_commander_entree) r/rXr*rZr<>r<><00> date_commande<64>date_livraisonr<6E>)r.<00>commander$r$r%r02s
<06><04><06>z+rapport_mouvement_stock.<locals>.<listcomp>T)<03>date_livraison__year<61>date_livraison__monthr<68><00>sortiecSs.g|]}|jj|jjj|jj|j|jd<00><05>qS))<05>produit_sortie<69>categorie_sortie<69>conditionnement_sortie<69>date_demande_sortie<69>quantite_demander_sortie)r/rXr*rZryr<>r{r$r$r%r0Ds <06><04><06>)<03>#date_de_mise_a_dispo_souhaite__year<61>$date_de_mise_a_dispo_souhaite__monthrwFrE)r:<00>split<69>extendrrrr r )r<00> mes_commandes<65> date_filtre<72>annee<65>mois<69> type_filtrer$r$r%<00>rapport_mouvement_stocks*
2025-12-19 09:43:33 +00:00



<04>
<EFBFBD>
 <04><08> r<>N)F)+<2B>__doc__<5F>django.shortcutsrr<00>django.core.paginatorr<00>django.db.modelsrr<00>authentification.modelsr<00>django.contrib.auth.decoratorsr<00> django.httpr <00>modelsr r r rr<00>formsrrrrr&rCrIrUrjrnrorrr}r<>r<>r<>r<>r<>r-r<>r<>r$r$r$r%<00><module>sR    
<EFBFBD>3
;

$





A


0