{{#restrict section="config" level="admin" block=true}}{{/restrict}} {{:admin_header title="Configuration" current="module_equipment"}} {{* barre de navigation *}} {{:include file="/%s/_nav.html"|args:$module.name current="config"}} {{if $_GET.ok}}

Configuration enregistrée.

{{/if}} {{* Traiter l'envoi du formulaire *}} {{#form on="save"}} {{:save key="config" validate_schema="./config.schema.json" inputNature=$_POST.input_fields|array_transpose outputNature=$_POST.output_fields|array_transpose }} {{:redirect to="./config.html?ok=1"}} {{/form}} {{* config par défaut *}} {{:read file="defaut.json" assign="config_defaut"}} {{:assign config_defaut=$config_defaut|json_decode}} {{* types d'entrées *}} {{#foreach from=$config_defaut.entrées item="elem"}} {{#foreach from=$elem key=label item=value}} {{:assign var='types_entrees.%s'|args:$value value=$value}} {{/foreach}} {{/foreach}} {{* types de sorties *}} {{#foreach from=$config_defaut.sorties item="elem"}} {{#foreach from=$elem key=label item=value}} {{:assign var='types_sorties.%s'|args:$value value=$value}} {{/foreach}} {{/foreach}}
Entrées {{#foreach from=$module.config.inputNature item="input_field"}} {{* Vérifier si la suppression de ce type d'entrée est possible *}} {{:assign suppr=true}} {{#load type="movement" where="$$.inputNature = :libelle" :libelle=$input_field.label}} {{:assign suppr=false}} {{/load}} {{else}} {{* pas de config enregistrée : utiliser les valeurs par défaut *}} {{#foreach from=$config_defaut.entrées item="elem"}} {{#foreach from=$elem key=label item=value}} {{* Vérifier si la suppression de ce type d'entrée est possible *}} {{:assign suppr=true}} {{#load type="movement" where="$$.inputNature = :libelle" :libelle=$label}} {{:assign suppr=false}} {{/load}} {{/foreach}} {{/foreach}} {{/foreach}}
Nature de l'entrée Type Action
{{:input type="text" name="input_fields[label][]" default=$input_field.label}} {{:input type="select" name="input_fields[type][]" options=$types_entrees default=$input_field.type required=true default_empty="— Choisir un type —"}} {{if $suppr}} {{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}} {{else}} {{:button label="Supprimer" shape="minus" disabled=true}} {{/if}}
{{:input type="text" name="input_fields[label][]" default=$label}} {{:input type="select" name="input_fields[type][]" options=$types_entrees required=true default=$value default_empty="— Choisir un type —"}} {{if $suppr}} {{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}} {{else}} {{:button label="Supprimer" shape="minus" disabled=true}} {{/if}}

{{:button shape="plus" label="Ajouter un champ" onclick="addLine('#input_body')"}}

Signification du type d'entrée

  • définitif : l'asso devient propriétaire du matériel (ex : achat, don)
  • temporaire : l'asso ne devient pas propriétaire du matériel (ex : location, emprunt)
  • retour : matériel qui revient après une sortie temporaire (ex : retour de location ou de prêt)
Sorties {{#foreach from=$module.config.outputNature item="output_field"}} {{* Vérifier si la suppression de ce type de sortie est possible *}} {{:assign suppr=true}} {{#load type="movement" where="$$.outputNature = :libelle" :libelle=$output_field.label}} {{:assign suppr=false}} {{/load}} {{else}} {{* pas de config enregistrée : utiliser les valeurs par défaut *}} {{#foreach from=$config_defaut.sorties item="elem"}} {{#foreach from=$elem key=label item=value}} {{* Vérifier si la suppression de ce type de sortie est possible *}} {{:assign suppr=true}} {{#load type="movement" where="$$.inputNature = :libelle" :libelle=$label}} {{:assign suppr=false}} {{/load}} {{/foreach}} {{/foreach}} {{/foreach}}
Nature de la sortie Type Action
{{:input type="text" name="output_fields[label][]" default=$output_field.label}} {{:input type="select" name="output_fields[type][]" options=$types_sorties default=$output_field.type required=true default_empty="— Choisir un type —"}} {{if $suppr}} {{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}} {{else}} {{:button label="Supprimer" shape="minus" disabled=true}} {{/if}}
{{:input type="text" name="output_fields[label][]" default=$label}} {{:input type="select" name="output_fields[type][]" options=$types_sorties required=true default=$value default_empty="— Choisir un type —"}} {{if $suppr}} {{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}} {{else}} {{:button label="Supprimer" shape="minus" disabled=true}} {{/if}}

{{:button shape="plus" label="Ajouter un champ" onclick="addLine('#output_body')"}}

Signification du type de sortie

  • définitif : le matériel n'appartient plus à l'asso (ex : vente, casse, perte, vol, ...)
  • temporaire : le matériel sort temporairement de l'asso qui en reste propriétaire (ex : location, prêt)
  • retour : le matériel non propriété de l'asso est rendu à son propriétaire (ex : retour de location ou d'emprunt)

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

{{:admin_footer}}