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

225 lines
12 KiB
Plaintext
Raw Normal View History

2025-12-19 09:43:33 +00:00
o
<00><>;iU><00>@s<>dZddlmZmZddlmZddlmZddlm Z ddl
m Z ddl m Z dd lmZmZmZmZmZdd
lmZmZmZmZd Zd Z d-d d <0A>Ze dd<0F>dd<11><00>Zdd<13>Ze dd<0F>e dd<15><00><01>Ze dd<0F>dd<17><00>Ze dd<0F>dd<19><00>Z e dd<0F>dd<1B><00>Z!e dd<0F>dd<1D><00>Z"e dd<0F>e dd<1F><00><01>Z#e dd<0F>d d!<21><00>Z$e dd<0F>e d"d#<23><00><01>Z%e dd<0F>d$d%<25><00>Z&d&d'<27>Z'e dd<0F>d(d)<29><00>Z(e dd<0F>d*d+<2B><00>Z)d,S).z#Views pour la gestion des produits.<2E>)<02>render<65>redirect)<01> Paginator)<01>Sum)<01> csrf_exempt)<01>login_required)<01> JsonResponse<73>)<05> Categorie<69>Produit<69>Demander<65> Fournisseur<75> Commander)<04>EnregistrementProduit<69>EnregistrementCategorie<69>CommanderProduit<69>DemanderProduitFcCsbtjj||jjd<01>}d}|jjjrtjj||jjjd<03>}|r)|r'||B<00>d<04>S|S|r/||BS|S)u<>Affichez les demandes de produit selon le profil de l'utilisateur.
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.
)<02>valider_par_chef<65>userN)r<00>user__departement<6E>-id)r <00>objects<74>filterr<00>profile<6C>chef_departement<6E> departement<6E>order_by)<05>request<73>option_validation_chef<65> ordre_inverse<73> mes_demandes<65>demandes_departement<6E>r"<00>3/home/sorel/logistique/SGL/gestion_produit/views.py<70>gestion_affichage_demandes(<06>
<06><0E><02><02><08><02><02>r$<00>login)<01> login_urlc Csrtj<01><02><00>d<01>}tj<01><02><00>d<02>}dd<04>|D<00>}t|d<05>}|j<06>d<06>}|<04>|<05>}t |dt
t t t t|dd <09>||d
<EFBFBD><07>S) u<>Gérer le rendu de la page d'accueil de la gestion des produits.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
HttpResponse
La réponse HTTP contenant la page rendue.
r<00> categoriecSsg|]}t|<01><01>qSr")<01>calcul_stock_produit)<02>.0<EFBFBD>produitr"r"r#<00>
<listcomp>ds<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)r r<00>allrr
r<00>GET<45>get<65>get_pagerrrrrr$)r<00> liste_produitr4<00>liste_produit_finale<6C>
pagination<EFBFBD> page_numberr3r"r"r#<00>indexQs,<06>
 
<04><04><04>r=cCs dd<02>tj<01><02>D<00>}t|dd<04>S)uRécupère et renvoie la liste des catégories de produits au format JSON.
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>qS<00>r'r>)r)r'r"r"r#r+<00>s<08><06>z$liste_categories.<locals>.<listcomp>F<><01>safe)r
rr5r)r<00>mes_categoriesr"r"r#<00>liste_categories~s<06> rBcCsL|jdkr"t|j|j<03>}|<01><04>r|<01><05>tddd<04><02>Stddd<04><02>Stt<08>S)uEnregistre un nouveau 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.
<20>POSTTu Produit enregistré avec succès<C3A8><02>success<73>messageFu&L'enregistrement du produit a échoué) <09>methodrrC<00>FILES<45>is_valid<69>saverrr=)r<00>pr"r"r#<00>enregistrer_produit<69>s
<04><04><04>rLcCs,|jdkrt|j<02>}|<01><03>r|<01><04>td<02>S)z-Enregistrez une nouvelle commande de produit.rC<00>gestion_produit:index)rGrrCrIrJr)r<00>formr"r"r#<00>enregistrer_commande<64>s

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.rCF)<01>commitTrM)
rGrrCrIrJrrrrr)rrN<00>
ma_demander"r"r#<00>enregistrer_demande<64>s

 

rRcCs(t|ddd<02>}dd<04>|D<00>}t|dd<06>S)z;Retournez la liste des demandes de produits au format JSON.T)rrc 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*<00>libellerTrUrrW<00> motif_refus<75>r)<00>demander"r"r#r+<00>s <04><04><06>z"liste_demandes.<locals>.<listcomp>Fr?)r$r)r<00>liste_demandes<65> les_demandesr"r"r#r^<00>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.<2E><01>id)<06> detailNom<6F>detailCategorie<69> detailmotif<69>detailDeMiseADispo<70> detailARendrer) r rr7r*rZr'rTrYrUrrrr)r<00>
id_demande<EFBFBD>detail_demander]r"r"r#rh<00>s<06>
rhcCs|jdkry|j<01>d<02>}|j<01>d<03>}|j<01>d<04>}|j<01>d<05>}z tjj|d<06>}Wntjy9tddd <09>d
d <0B>YSw|d krN|d krFd|_n(|dkrMd|_n |dkre|d krZd|_n|dkrdd|_||_ n tddd <09>dd <0B>S|<05>
<EFBFBD>tddd <09><02>Stddd <09>dd <0B>S)u]Met à jour le statut d'une demande de produit.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
request.id : int
L'ID de la demande à mettre à jour.
request.action : str
L'action à effectuer ('confirmer' ou 'refuser').
request.emetteur : str
L'émetteur de la demande ('chef' ou 'logisticien').
request.motif_refus : str
Le motif de refus (si applicable).
Returns
-------
JsonResponse
Réponse JSON indiquant le succès ou l'échec de la mise à jour.
rCra<00>action<6F>emetteurr[r`FzDemande introuvablerDi<>)<01>status<75>1<>chefT<66> logisticien<65>0zAction invalidei<65>uStatut mis à jouruMéthode non autoriséei<65>) rGrCr7r r<00> DoesNotExistrrrWr[rJ)r<00>
produit_idrirjrTr]r"r"r#<00> update_statut<75>sH
    <04>
<EFBFBD><02> <02><02>
<06>
<06>rrcCs@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ée.
Parameters
----------
request : HttpRequest
La requête HTTP entrante.
Returns
-------
HttpResponse
La réponse HTTP contenant la page rendue avec la liste des produits.
rr,r-r.r3) r rr5rrr6r7r8r)rr9r;r<r3r"r"r#<00>recuperer_liste_produit6s
 
<04>rscCs@|jdkrt|j<02>}|<01><03>r|<01><04>tddi<01>Stddi<01>SdS)uoEnregistrez une nouvelle catégorie de produit.
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.
rCrETFN)rGrrCrIrJr)r<00>
categoriesr"r"r#<00>enregistrer_categorieQs

  rucCs8tjj|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é.
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.
r`r>cSsg|] }|j|jd<00><02>qS))ra<00>nom_fournisseur)ra<00>nom_entreprise)r)<00>fournisseur_produitr"r"r#r+<00>s <04><04><06>z7recuperer_fournisseur_par_categorie.<locals>.<listcomp>Fr?)r rr7r rr'r)r<00>
id_produitr*<00> fournisseur<75>produit_founisseurr"r"r#<00>#recuperer_fournisseur_par_categoriels <06> r|c Cs<>tjjd|d<02><02>td<03><01>dpd}tjj|dd<06>}d}|D]}|jr'|jdus,|jdur1||j7}q|j ||}|j
|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)rarZ<00>quantite_stock<63>conditionnement<6E>seuil_pre_rupture<72>image<67> categorie_id<69> stockActuel)rrr<00> aggregaterr rU<00>rendu<64>quantiter<65>rarZr<>r<>r<>r<>)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>


<02><02><04><06>r(cCs
t|d<01>S)u<>Rendez la page de mouvement de stock.
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_stock<63>s
r<>cCs<>g}|jd}|<02>d<02>\}}|jd}|dkr)|<01>dd<06>tjj||dd<08>D<00><01>n|d kr>|<01>d
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>
dateFiltre<EFBFBD>-<2D>
typeFiltre<EFBFBD>entreec
Ss8g|]}|jj|jjj|jj|jj|j|j|jd<00><07>qS))r*r'r<>rz<00> date_commande<64>date_livraisonr~) r*rZr'r<>rzrwr<>r<>r~)r)<00>commander"r"r#r+<00>s
<06><04><06>z+rapport_mouvement_stock.<locals>.<listcomp>T)<03>date_livraison__year<61>date_livraison__monthr}<00>sortiecSs.g|]}|jj|jjj|jj|j|jd<00><05>qS))r*r'r<><00> date_demande<64>quantite_demander)r*rZr'r<>rSr<>r\r"r"r#r+<00>s <06><04><06>)<03>dateDemande__year<61>dateDemande__monthrWFr?)r6<00>split<69>extendrrrr r)r<00> mes_commandes<65> date_filtre<72>annee<65>mois<69> type_filtrer"r"r#<00>rapport_mouvement_stock<63>s*



<04>
<EFBFBD>
 <04><08> r<>N)F)*<2A>__doc__<5F>django.shortcutsrr<00>django.core.paginatorr<00>django.db.modelsr<00>django.views.decorators.csrfr<00>django.contrib.auth.decoratorsr<00> django.httpr<00>modelsr
r r r r<00>formsrrrr<00>PRODUIT_NON_A__RENDRE<52>PRODUIT_NON_RENDUr$r=rBrLrOrRr^rhrrrsrur|r(r<>r<>r"r"r"r#<00><module>sT     
<EFBFBD>2
, 



 ?
 
 1