From e7538a11c8b16ad5a9bc101e4b7b38075de9082e Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Sat, 9 Nov 2024 09:58:50 +0100 Subject: [PATCH] ajout sortie sur page inventaire --- inventaire.html | 30 ++++++-- mouvements/sorties/stock_disponible.html | 93 +++++++++++------------- 2 files changed, 64 insertions(+), 59 deletions(-) diff --git a/inventaire.html b/inventaire.html index 6f58693..9bcbed0 100644 --- a/inventaire.html +++ b/inventaire.html @@ -79,10 +79,17 @@ {{$exterieur}} {{$dispo}} - {{:linkbutton - label="Ajouter entrée" + {{if $dispo > 0}} + {{:linkbutton + label="Sortie" shape="plus" - href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key + href="mouvements/sorties/stock_disponible.html?key=%s&prop=1"|args:$eqpmt_key + target="_dialog"}} + {{/if}} + {{:linkbutton + label="Entrée" + shape="plus" + href="mouvements/entrees/repertorie.html?key=%s&prop=1"|args:$eqpmt_key target="_dialog"}} {{:linkbutton label="Mouvements" @@ -90,7 +97,7 @@ shape="table"}} {{:linkbutton label="Modifier" - href="%smodifier_materiel.html?key=%s"|args:$module.url:$eqpmt_key + href="%smodifier_materiel.html?key=%s&prop=1"|args:$module.url:$eqpmt_key shape="edit" target="_dialog"}} @@ -156,19 +163,26 @@ {{$eqpmt.designation}} {{$eqpmt.nonproprio}} + {{if $eqpmt.nonproprio > 0}} {{:linkbutton - label="Ajouter entrée" + label="Retour" + href="mouvements/sorties/emprunte.html?key=%s&prop=0"|args:$mvt_key + shape="history" + target="_dialog"}} + {{/if}} + {{:linkbutton + label="Entrée" shape="plus" - href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key + href="mouvements/entrees/repertorie.html?key=%s&prop=0"|args:$eqpmt_key target="_dialog"}} {{:linkbutton label="Mouvements" - href="historique.html?key=%s"|args:$eqpmt_key + href="historique.html?key=%s&prop=0"|args:$eqpmt_key shape="table" target="_dialog"}} {{:linkbutton label="Modifier" - href="modifier_materiel.html?key=%s"|args:$eqpmt_key + href="modifier_materiel.html?key=%s&prop=0"|args:$eqpmt_key shape="edit" target="_dialog"}} diff --git a/mouvements/sorties/stock_disponible.html b/mouvements/sorties/stock_disponible.html index 8ccc989..fea90c8 100644 --- a/mouvements/sorties/stock_disponible.html +++ b/mouvements/sorties/stock_disponible.html @@ -2,8 +2,10 @@ {{* paramètres : - - key : clé du mouvement à modifier - - prop : = 1 si matériel propriété + - key : clé du matériel à modifier + - prop : = 1 si matériel propriété de l'asso + + TODO : simplifier *}} {{:admin_header title="Sortie de matériel" current="module_equipment"}} @@ -26,9 +28,8 @@ {{* Traiter l'envoi du formulaire *}} {{#form on="save"}} {{* récupérer les infos du matériel *}} - {{#load type="equipment" key=$_POST.equipment assign="equipment"}} + {{#load type="equipment" key=$_GET.key assign="equipment"}} {{:assign designation=$equipment.designation}} - {{:assign var="category_keys." value=$equipment.category}} {{/load}} {{:assign stock=0}} @@ -37,7 +38,7 @@ {{:assign insere=false}} {{* lister tous les mouvements du matériel *}} - {{#load type="movement" where="$$.equipment = '%s'"|args:$_POST.equipment assign="mvt" order="$$.date ASC"}} + {{#load type="movement" where="$$.equipment = '%s'"|args:$_GET.key assign="mvt" order="$$.date ASC"}} {{* traiter le nouveau mouvement *}} {{if ! $insere && $mvt.date > $_POST.date|parse_date}} @@ -106,75 +107,65 @@ date=$_POST.date|parse_date comment=$_POST.remarques|trim }} - {{:redirect force="../../historique.html?ok=1&key=%s&prop=%s&msg=sortie"|args:$_POST.equipment:$_GET.prop}} + {{:redirect force="../../historique.html?ok=1&key=%s&prop=%s&msg=sortie"|args:$_GET.key:$_GET.prop}} {{else}} {{:form_errors}} {{/form}} {{* Extraire et compiler les infos de la base *}} -{{:include file="../../_calcul_dispo.html" keep="cumul_mvt"}} +{{* TODO simplifier et peut-être mutualiser *}} -{{if $cumul_mvt !== null}} - {{* calculer les disponibilités *}} - {{#foreach from=$cumul_mvt key="cat_key" item="cat_elem"}} - {{#foreach from=$cat_elem.eqpmt key="eqpmt_key" item="eqpmt"}} - {{:assign dispo="%d-%d"|math:$eqpmt.stock:$eqpmt.exterieur}} - {{if $dispo != 0}} - {{:assign - var="disponibilites.%s.%s"|args:$cat_elem.name:$eqpmt_key - value="%s (dispo : %d)"|args:$eqpmt.designation:$dispo - }} - {{/if}} - {{/foreach}} - {{/foreach}} +{{:include file="../../_calcul_dispo.html" keep="cumul_mvt,equipments"}} - {{if $disponibilites != null}} - {{* déterminer le matériel concerné par le mouvement *}} - {{#load key=$_GET.key}} - {{:assign eqpmt_key=$equipment}} - {{/load}} +{{:assign var=stock from="equipments.%s.stock"|args:$_GET.key}} +{{:assign var=exterieur from="equipments.%s.exterieur"|args:$_GET.key}} +{{:assign dispo="%d-%d"|math:$stock:$exterieur}} +{{:assign var=category_key from="equipments.%s.category"|args:$_GET.key}} +{{:assign var=category from="cumul_mvt.%s.name"|args:$category_key}} - {{* formulaire de sortie de matériel *}} -
-
- Ajouter une sortie d'un matériel disponible en stock -
+{{if $dispo > 0}} + {{* déterminer le matériel concerné par le mouvement *}} + {{#load key=$_GET.key assign="equipment"}} + {{/load}} + + {{* formulaire de sortie de matériel *}} + +
+ Ajouter une sortie d'un matériel disponible en stock +
{{:input type="select" name="type_operation" label="Type" required=true options=$output_labels}} {{:input type="date" name="date" label="Date de sortie" required=true default=$now|date_short}} - {{:input type="number" name="quantite" label="Quantité" required=true default=1 min=1}} -
-
-
- Matériel + {{:input type="text" name="category" label="Catégorie" required=true disabled=true default=$category.name}} + {{:input type="text" name="equipment" label="Matériel" required=true disabled=true default=$equipment.designation}} + {{:input type="text" name="dispo" label="Qté disponible" disabled=true default=$dispo}}

La quantité indiquée est celle à la date du jour

-
- {{:input type="select_groups" name="equipment" label="Matériel" required=true options=$disponibilites default=$eqpmt_key onchange="fixerValeurMax('f_equipment', 'f_quantite')"}} - {{:input type="textarea" name="remarques" label="Remarques" cols="40" rows="3" required=false}} -
-
-

- {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} -

- - {{else}} - {{:assign date_err=$now|date:'d/m/Y'}} -

Il n'y a aucun matériel disponible à la date du {{$date_err}}

- {{/if}} + {{:input type="number" name="quantite" label="Quantité" required=true default=1 min=1}} + {{:input type="textarea" name="remarques" label="Remarques" cols="40" rows="3" required=false}} +
+
+

+ {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} +

+ {{else}} -

Il n'y a aucun matériel en stock

+ {{:assign date_err=$now|date:'d/m/Y'}} +

Il n'y a aucun matériel disponible à la date du {{$date_err}}

{{/if}} {{:admin_footer}}