Gestion config par défaut + ajout contrôles

This commit is contained in:
Jean-Christophe Engel 2023-11-30 18:14:46 +01:00
parent be70b6ef6e
commit 794094b712
11 changed files with 226 additions and 161 deletions

View File

@ -82,9 +82,12 @@
{{:assign nonproprio=0}} {{:assign nonproprio=0}}
{{/if}} {{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{if $direction === 'entrée'}} {{if $direction === 'entrée'}}
{{* chercher le type d'entrée parmi les types de la config *}} {{* chercher le type d'entrée parmi les types de la config *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $operation == $elem.label}} {{if $operation == $elem.label}}
{{if $elem.type == 'définitif'}} {{if $elem.type == 'définitif'}}
{{:assign stock="%d+%d"|math:$stock:$nombre}} {{:assign stock="%d+%d"|math:$stock:$nombre}}
@ -107,7 +110,7 @@
{{/foreach}} {{/foreach}}
{{elseif $direction === 'sortie'}} {{elseif $direction === 'sortie'}}
{{* chercher le type de sortie parmi les types de la config *}} {{* chercher le type de sortie parmi les types de la config *}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $operation == $elem.label}} {{if $operation == $elem.label}}
{{if $elem.type == 'définitif'}} {{if $elem.type == 'définitif'}}
{{:assign stock="%d-%d"|math:$stock:$nombre}} {{:assign stock="%d-%d"|math:$stock:$nombre}}

36
_get_config.html Normal file
View File

@ -0,0 +1,36 @@
{{*
Récupérer soit la config enregistrée, soit la config par défaut
résultat : config.inputNature et config.outputNature
*}}
{{* config par défaut *}}
{{:read file="/%s/defaut.json"|args:$module.name assign="config_defaut"}}
{{:assign config_defaut=$config_defaut|json_decode}}
{{if $module.config.inputNature != null}}
{{:assign var=config.inputNature value=$module.config.inputNature}}
{{else}}
{{* pas de config enregistrée : utiliser la config par défaut *}}
{{#foreach from=$config_defaut.entrées item="elem"}}
{{#foreach from=$elem key=label item=value}}
{{:assign var="item.label" value=$label}}
{{:assign var="item.type" value=$value}}
{{:assign var="config.inputNature." value=$item}}
{{/foreach}}
{{/foreach}}
{{/if}}
{{if $module.config.outputNature != null}}
{{:assign var=config.outputNature value=$module.config.outputNature}}
{{else}}
{{* pas de config enregistrée : utiliser la config par défaut *}}
{{#foreach from=$config_defaut.sorties item="elem"}}
{{#foreach from=$elem key=label item=value}}
{{:assign var="item.label" value=$label}}
{{:assign var="item.type" value=$value}}
{{:assign var="config.outputNature." value=$item}}
{{/foreach}}
{{/foreach}}
{{/if}}

View File

@ -18,6 +18,9 @@
{{#form on="delete"}} {{#form on="delete"}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* vérifier s'il est possible de supprimer l'entrée *}} {{* vérifier s'il est possible de supprimer l'entrée *}}
{{:assign dispo=0}} {{:assign dispo=0}}
{{:assign nonprop=0}} {{:assign nonprop=0}}
@ -33,7 +36,7 @@
{{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}} {{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}}
{{if $movement.direction == 'entrée'}} {{if $movement.direction == 'entrée'}}
{{* chercher le type d'entrée parmi les types de la config *}} {{* chercher le type d'entrée parmi les types de la config *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $movement.inputNature == $elem.label}} {{if $movement.inputNature == $elem.label}}
{{if $elem.type == 'temporaire'}} {{if $elem.type == 'temporaire'}}
{{:assign nonprop="%d+%d"|math:$nonprop:$movement.amount}} {{:assign nonprop="%d+%d"|math:$nonprop:$movement.amount}}
@ -44,7 +47,7 @@
{{/foreach}} {{/foreach}}
{{elseif $movement.direction == 'sortie'}} {{elseif $movement.direction == 'sortie'}}
{{* chercher le type de sortie parmi les types de la config *}} {{* chercher le type de sortie parmi les types de la config *}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $movement.outputNature == $elem.label}} {{if $movement.outputNature == $elem.label}}
{{if $elem.type == 'retour'}} {{if $elem.type == 'retour'}}
{{:assign nonprop="%d-%d"|math:$nonprop:$movement.amount}} {{:assign nonprop="%d-%d"|math:$nonprop:$movement.amount}}

View File

@ -10,8 +10,11 @@
</header> </header>
{{/if}} {{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types d'entrées *}} {{* types d'entrées *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $elem.type != 'retour'}} {{if $elem.type != 'retour'}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}} {{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{/if}} {{/if}}

View File

@ -10,8 +10,11 @@
</header> </header>
{{/if}} {{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types d'entrées *}} {{* types d'entrées *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $elem.type != 'retour'}} {{if $elem.type != 'retour'}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}} {{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{/if}} {{/if}}
@ -53,13 +56,11 @@
{{/load}} {{/load}}
{{* Vérifier s'il y a au moins un matériel enregistré *}} {{* Vérifier s'il y a au moins un matériel enregistré *}}
{{if $equipments|count == 0}} {{if $equipments != null}}
{{:error message="Erreur : il n'y a aucun matériel"}}
{{/if}}
{{* formulaire d'entrée de matériel *}} {{* formulaire d'entrée de matériel *}}
<form method="post" action=""> <form method="post" action="">
<fieldset class="entree"> <fieldset class="entree">
<legend>Ajouter une entrée d'un matériel répertorié</legend> <legend>Ajouter une entrée d'un matériel répertorié</legend>
@ -78,6 +79,9 @@
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p> </p>
</form> </form>
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
{{:admin_footer}} {{:admin_footer}}

View File

@ -10,8 +10,11 @@
</header> </header>
{{/if}} {{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types d'entrées *}} {{* types d'entrées *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $elem.type == 'retour'}} {{if $elem.type == 'retour'}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}} {{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{/if}} {{/if}}
@ -63,8 +66,10 @@
{{* Extraire et compiler les infos de la base *}} {{* Extraire et compiler les infos de la base *}}
{{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}} {{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}}
{{* déterminer la quantité des matériels sortis temporairement *}} {{if $equipments !== null}}
{{#foreach from=$equipments key="cat_key" item="category"}}
{{* déterminer la quantité des matériels sortis temporairement *}}
{{#foreach from=$equipments key="cat_key" item="category"}}
{{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}}
{{:assign quantite=$eqpmt.exterieur}} {{:assign quantite=$eqpmt.exterieur}}
{{if $quantite != 0}} {{if $quantite != 0}}
@ -74,30 +79,12 @@
}} }}
{{/if}} {{/if}}
{{/foreach}} {{/foreach}}
{{/foreach}} {{/foreach}}
{{if $temporaire === null}}
{{:error message="Le matériel choisi (%s) n'est pas sorti à la date du %s"|args:$designation:$_POST.date}}
{{/if}}
{{* lister les catégories et matériels associés *}} {{if $temporaire != null}}
{{*
{{#load type="category" assign="category" order="$$.name"}}
{{:assign nom_cat=$category.name}}
{{#load type="equipment" where="$$.category = :key" :key=$category.key assign="equipment"}}
{{:assign var="equipments.%s.%s"|args:$nom_cat:$equipment.key value=$equipment.designation}}
{{/load}}
{{/load}}
*}}
{{* Vérifier s'il y a au moins un matériel enregistré *}} {{* formulaire d'entrée de matériel *}}
{{* <form method="post" action="">
{{if $equipments|count == 0}}
{{:error message="Erreur : il n'y a aucun matériel"}}
{{/if}}
*}}
{{* formulaire d'entrée de matériel *}}
<form method="post" action="">
<fieldset class="entree"> <fieldset class="entree">
<legend>Ajouter une entrée pour un retour de matériel</legend> <legend>Ajouter une entrée pour un retour de matériel</legend>
@ -116,6 +103,12 @@
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p> </p>
</form> </form>
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
{{:admin_footer}} {{:admin_footer}}

View File

@ -25,9 +25,12 @@
{{:assign date_init=$mvt_modif.date|date_short}} {{:assign date_init=$mvt_modif.date|date_short}}
{{:assign key_eqpmt_init=$mvt_modif.equipment}} {{:assign key_eqpmt_init=$mvt_modif.equipment}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{if $direction == "entrée"}} {{if $direction == "entrée"}}
{{* types d'entrées *}} {{* types d'entrées *}}
{{#foreach from=$module.config.inputNature key="rang" item="elem"}} {{#foreach from=$config.inputNature key="rang" item="elem"}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}} {{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{if $elem.label == $mvt_modif.inputNature}} {{if $elem.label == $mvt_modif.inputNature}}
{{:assign type_defaut=$rang}} {{:assign type_defaut=$rang}}
@ -35,7 +38,7 @@
{{/foreach}} {{/foreach}}
{{else}} {{else}}
{{* types de sorties *}} {{* types de sorties *}}
{{#foreach from=$module.config.outputNature key="rang" item="elem"}} {{#foreach from=$config.outputNature key="rang" item="elem"}}
{{:assign var='types_sorties.' value="%s"|args:$elem.label}} {{:assign var='types_sorties.' value="%s"|args:$elem.label}}
{{if $elem.label == $mvt_modif.outputNature}} {{if $elem.label == $mvt_modif.outputNature}}
{{:assign type_defaut=$rang}} {{:assign type_defaut=$rang}}

View File

@ -18,9 +18,12 @@
{{#form on="delete"}} {{#form on="delete"}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* déterminer s'il s'agit d'une sortie temporaire *}} {{* déterminer s'il s'agit d'une sortie temporaire *}}
{{:assign temporaire=false}} {{:assign temporaire=false}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $mvt_suppr.outputNature == $elem.label && $elem.type == 'temporaire'}} {{if $mvt_suppr.outputNature == $elem.label && $elem.type == 'temporaire'}}
{{:assign temporaire=true}} {{:assign temporaire=true}}
{{:break}} {{:break}}
@ -40,14 +43,14 @@
{{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}} {{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}}
{{if $movement.direction == 'entrée'}} {{if $movement.direction == 'entrée'}}
{{* chercher le type d'entrée parmi les types de la config *}} {{* chercher le type d'entrée parmi les types de la config *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $movement.inputNature == $elem.label && $elem.type == 'retour'}} {{if $movement.inputNature == $elem.label && $elem.type == 'retour'}}
{{:assign exterieur="%d-%d"|math:$exterieur:$movement.amount}} {{:assign exterieur="%d-%d"|math:$exterieur:$movement.amount}}
{{/if}} {{/if}}
{{/foreach}} {{/foreach}}
{{elseif $movement.direction == 'sortie'}} {{elseif $movement.direction == 'sortie'}}
{{* chercher le type de sortie parmi les types de la config *}} {{* chercher le type de sortie parmi les types de la config *}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $movement.outputNature == $elem.label && $elem.type == 'temporaire'}} {{if $movement.outputNature == $elem.label && $elem.type == 'temporaire'}}
{{:assign exterieur="%d+%d"|math:$exterieur:$movement.amount}} {{:assign exterieur="%d+%d"|math:$exterieur:$movement.amount}}
{{/if}} {{/if}}

View File

@ -10,8 +10,11 @@
</header> </header>
{{/if}} {{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types de sorties *}} {{* types de sorties *}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $elem.type == 'retour'}} {{if $elem.type == 'retour'}}
{{:assign var='types_sorties.' value="%s"|args:$elem.label}} {{:assign var='types_sorties.' value="%s"|args:$elem.label}}
{{/if}} {{/if}}
@ -62,8 +65,9 @@
{{* Extraire et compiler les infos de la base *}} {{* Extraire et compiler les infos de la base *}}
{{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}} {{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}}
{{* calculer les quantité de matériels dont l'asso n'est pas propriétaire *}} {{if $equipments !== null}}
{{#foreach from=$equipments key="cat_key" item="category"}} {{* calculer les quantité de matériels dont l'asso n'est pas propriétaire *}}
{{#foreach from=$equipments key="cat_key" item="category"}}
{{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}}
{{:assign quantite="%d-%d"|math:$eqpmt.nonproprio:$eqpmt.retour}} {{:assign quantite="%d-%d"|math:$eqpmt.nonproprio:$eqpmt.retour}}
{{if $quantite != 0}} {{if $quantite != 0}}
@ -73,13 +77,11 @@
}} }}
{{/if}} {{/if}}
{{/foreach}} {{/foreach}}
{{/foreach}} {{/foreach}}
{{if $temporaire === null}}
{{:error message="Le matériel choisi (%s) n'est pas présent à la date du %s"|args:$designation:$_POST.date}}
{{/if}}
{{* formulaire de sortie de matériel *}} {{if $temporaire != null}}
<form method="post" action=""> {{* formulaire de sortie de matériel *}}
<form method="post" action="">
<fieldset class="sortie"> <fieldset class="sortie">
<legend>Ajouter une sortie d'un matériel disponible en stock</legend> <legend>Ajouter une sortie d'un matériel disponible en stock</legend>
@ -97,8 +99,13 @@
<p class="submit"> <p class="submit">
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p> </p>
</form>
</form> {{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
<script type="text/javascript"> <script type="text/javascript">
// fixer la valeur maximale du champ de saisie de la quantité // fixer la valeur maximale du champ de saisie de la quantité

View File

@ -10,8 +10,11 @@
</header> </header>
{{/if}} {{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types de sorties *}} {{* types de sorties *}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $elem.type != 'retour'}} {{if $elem.type != 'retour'}}
{{:assign var='types_sorties.' value="%s"|args:$elem.label}} {{:assign var='types_sorties.' value="%s"|args:$elem.label}}
{{/if}} {{/if}}
@ -64,8 +67,9 @@
{{* Extraire et compiler les infos de la base *}} {{* Extraire et compiler les infos de la base *}}
{{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}} {{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}}
{{* calculer les disponibilités *}} {{if $equipments !== null}}
{{#foreach from=$equipments key="cat_key" item="category"}} {{* calculer les disponibilités *}}
{{#foreach from=$equipments key="cat_key" item="category"}}
{{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}} {{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}}
{{:assign dispo="%d-%d"|math:$eqpmt.stock:$eqpmt.exterieur}} {{:assign dispo="%d-%d"|math:$eqpmt.stock:$eqpmt.exterieur}}
{{:assign {{:assign
@ -73,13 +77,13 @@
value="%s (dispo : %d)"|args:$eqpmt.designation:$dispo value="%s (dispo : %d)"|args:$eqpmt.designation:$dispo
}} }}
{{/foreach}} {{/foreach}}
{{/foreach}} {{/foreach}}
{{if $disponibilites === null}} {{if $disponibilites === null}}
{{:error message="Le matériel choisi (%s) n'est pas présent à la date du %s"|args:$designation:$_POST.date}} {{:error message="Le matériel choisi (%s) n'est pas présent à la date du %s"|args:$designation:$_POST.date}}
{{/if}} {{/if}}
{{* formulaire de sortie de matériel *}} {{* formulaire de sortie de matériel *}}
<form method="post" action=""> <form method="post" action="">
<fieldset class="sortie"> <fieldset class="sortie">
<legend>Ajouter une sortie d'un matériel disponible en stock</legend> <legend>Ajouter une sortie d'un matériel disponible en stock</legend>
@ -98,7 +102,10 @@
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p> </p>
</form> </form>
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
<script type="text/javascript"> <script type="text/javascript">
// fixer la valeur maximale du champ de saisie de la quantité // fixer la valeur maximale du champ de saisie de la quantité

View File

@ -5,6 +5,9 @@
- eqpmt_key : clé du matériel à vérifier - eqpmt_key : clé du matériel à vérifier
*}} *}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{:assign erreur = false}} {{:assign erreur = false}}
{{:assign stock=0}} {{:assign stock=0}}
{{:assign exterieur=0}} {{:assign exterieur=0}}
@ -13,7 +16,7 @@
{{if $movement.equipment == $eqpmt_key}} {{if $movement.equipment == $eqpmt_key}}
{{if $movement.direction == 'entrée'}} {{if $movement.direction == 'entrée'}}
{{* chercher le type d'entrée parmi les types de la config *}} {{* chercher le type d'entrée parmi les types de la config *}}
{{#foreach from=$module.config.inputNature item="elem"}} {{#foreach from=$config.inputNature item="elem"}}
{{if $movement.inputNature == $elem.label}} {{if $movement.inputNature == $elem.label}}
{{if $elem.type == 'définitif'}} {{if $elem.type == 'définitif'}}
{{:assign stock="%d+%d"|math:$stock:$movement.amount}} {{:assign stock="%d+%d"|math:$stock:$movement.amount}}
@ -26,7 +29,7 @@
{{/foreach}} {{/foreach}}
{{elseif $movement.direction == 'sortie'}} {{elseif $movement.direction == 'sortie'}}
{{* chercher le type de sortie parmi les types de la config *}} {{* chercher le type de sortie parmi les types de la config *}}
{{#foreach from=$module.config.outputNature item="elem"}} {{#foreach from=$config.outputNature item="elem"}}
{{if $movement.outputNature == $elem.label}} {{if $movement.outputNature == $elem.label}}
{{if $elem.type == 'définitif'}} {{if $elem.type == 'définitif'}}
{{:assign stock="%d-%d"|math:$stock:$movement.amount}} {{:assign stock="%d-%d"|math:$stock:$movement.amount}}