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}}
{{/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'}}
{{* 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 $elem.type == 'définitif'}}
{{:assign stock="%d+%d"|math:$stock:$nombre}}
@ -107,7 +110,7 @@
{{/foreach}}
{{elseif $direction === 'sortie'}}
{{* 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 $elem.type == 'définitif'}}
{{: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"}}
{{* 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 *}}
{{:assign dispo=0}}
{{:assign nonprop=0}}
@ -33,7 +36,7 @@
{{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}}
{{if $movement.direction == 'entrée'}}
{{* 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 $elem.type == 'temporaire'}}
{{:assign nonprop="%d+%d"|math:$nonprop:$movement.amount}}
@ -44,7 +47,7 @@
{{/foreach}}
{{elseif $movement.direction == 'sortie'}}
{{* 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 $elem.type == 'retour'}}
{{:assign nonprop="%d-%d"|math:$nonprop:$movement.amount}}

View File

@ -10,8 +10,11 @@
</header>
{{/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 *}}
{{#foreach from=$module.config.inputNature item="elem"}}
{{#foreach from=$config.inputNature item="elem"}}
{{if $elem.type != 'retour'}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{/if}}

View File

@ -10,8 +10,11 @@
</header>
{{/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 *}}
{{#foreach from=$module.config.inputNature item="elem"}}
{{#foreach from=$config.inputNature item="elem"}}
{{if $elem.type != 'retour'}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{/if}}
@ -53,9 +56,7 @@
{{/load}}
{{* Vérifier s'il y a au moins un matériel enregistré *}}
{{if $equipments|count == 0}}
{{:error message="Erreur : il n'y a aucun matériel"}}
{{/if}}
{{if $equipments != null}}
{{* formulaire d'entrée de matériel *}}
@ -79,5 +80,8 @@
</p>
</form>
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
{{:admin_footer}}

View File

@ -10,8 +10,11 @@
</header>
{{/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 *}}
{{#foreach from=$module.config.inputNature item="elem"}}
{{#foreach from=$config.inputNature item="elem"}}
{{if $elem.type == 'retour'}}
{{:assign var='types_entrees.' value="%s"|args:$elem.label}}
{{/if}}
@ -63,6 +66,8 @@
{{* Extraire et compiler les infos de la base *}}
{{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}}
{{if $equipments !== null}}
{{* 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"}}
@ -75,28 +80,10 @@
{{/if}}
{{/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 *}}
{{*
{{#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}}
*}}
{{if $temporaire != null}}
{{* Vérifier s'il y a au moins un matériel enregistré *}}
{{*
{{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">
@ -117,5 +104,11 @@
</p>
</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}}

View File

@ -25,9 +25,12 @@
{{:assign date_init=$mvt_modif.date|date_short}}
{{: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"}}
{{* 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}}
{{if $elem.label == $mvt_modif.inputNature}}
{{:assign type_defaut=$rang}}
@ -35,7 +38,7 @@
{{/foreach}}
{{else}}
{{* 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}}
{{if $elem.label == $mvt_modif.outputNature}}
{{:assign type_defaut=$rang}}

View File

@ -18,9 +18,12 @@
{{#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 *}}
{{: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'}}
{{:assign temporaire=true}}
{{:break}}
@ -40,14 +43,14 @@
{{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}}
{{if $movement.direction == 'entrée'}}
{{* 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'}}
{{:assign exterieur="%d-%d"|math:$exterieur:$movement.amount}}
{{/if}}
{{/foreach}}
{{elseif $movement.direction == 'sortie'}}
{{* 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'}}
{{:assign exterieur="%d+%d"|math:$exterieur:$movement.amount}}
{{/if}}

View File

@ -10,8 +10,11 @@
</header>
{{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types de sorties *}}
{{#foreach from=$module.config.outputNature item="elem"}}
{{#foreach from=$config.outputNature item="elem"}}
{{if $elem.type == 'retour'}}
{{:assign var='types_sorties.' value="%s"|args:$elem.label}}
{{/if}}
@ -62,6 +65,7 @@
{{* Extraire et compiler les infos de la base *}}
{{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}}
{{if $equipments !== null}}
{{* 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"}}
@ -74,10 +78,8 @@
{{/if}}
{{/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}}
{{if $temporaire != null}}
{{* formulaire de sortie de matériel *}}
<form method="post" action="">
@ -97,8 +99,13 @@
<p class="submit">
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p>
</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">
// fixer la valeur maximale du champ de saisie de la quantité

View File

@ -10,8 +10,11 @@
</header>
{{/if}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{* types de sorties *}}
{{#foreach from=$module.config.outputNature item="elem"}}
{{#foreach from=$config.outputNature item="elem"}}
{{if $elem.type != 'retour'}}
{{:assign var='types_sorties.' value="%s"|args:$elem.label}}
{{/if}}
@ -64,6 +67,7 @@
{{* Extraire et compiler les infos de la base *}}
{{:include file="/%s/_calcul_dispo.html"|args:$module.name keep="equipments"}}
{{if $equipments !== null}}
{{* calculer les disponibilités *}}
{{#foreach from=$equipments key="cat_key" item="category"}}
{{#foreach from=$category.eqpmt key="eqpmt_key" item="eqpmt"}}
@ -99,6 +103,9 @@
</p>
</form>
{{else}}
<p class="block error">Il n'y a aucun matériel</p>
{{/if}}
<script type="text/javascript">
// 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
*}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="/%s/_get_config.html"|args:$module.name keep="config"}}
{{:assign erreur = false}}
{{:assign stock=0}}
{{:assign exterieur=0}}
@ -13,7 +16,7 @@
{{if $movement.equipment == $eqpmt_key}}
{{if $movement.direction == 'entrée'}}
{{* 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 $elem.type == 'définitif'}}
{{:assign stock="%d+%d"|math:$stock:$movement.amount}}
@ -26,7 +29,7 @@
{{/foreach}}
{{elseif $movement.direction == 'sortie'}}
{{* 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 $elem.type == 'définitif'}}
{{:assign stock="%d-%d"|math:$stock:$movement.amount}}