diff --git a/config.html b/config.html index 24729a7..342147a 100644 --- a/config.html +++ b/config.html @@ -19,24 +19,29 @@ {{: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}} +{{* lecture config (défaut ou enregistrée) *}} +{{:include file="./_get_config.html" keep="config"}} {{* types d'entrées *}} -{{#foreach from=$config_defaut.inputs item="elem"}} - {{#foreach from=$elem key=label item=value}} - {{:assign var='input_types.%s'|args:$value value=$value}} - {{/foreach}} +{{#foreach from=$config.input_nature key="label" item="type"}} + {{:assign var='input_types.%s'|args:$type value=$type}} {{/foreach}} +{{* Natures d'entrées qui ne peuvent être supprimées *}} +{{#load type="movement" where="$$.direction='input'" group="$$.input_nature"}} + {{:assign var="locked_inputs." value=$input_nature}} +{{/load}} + {{* types de sorties *}} -{{#foreach from=$config_defaut.outputs item="elem"}} - {{#foreach from=$elem key=label item=value}} - {{:assign var='output_typess.%s'|args:$value value=$value}} - {{/foreach}} +{{#foreach from=$config.output_nature key="label" item="type"}} + {{:assign var='output_types.%s'|args:$type value=$type}} {{/foreach}} +{{* Natures de sorties qui ne peuvent être supprimées *}} +{{#load type="movement" where="$$.direction='output'" group="$$.output_nature"}} + {{:assign var="locked_outputs." value=$output_nature}} +{{/load}} +
Entrées @@ -49,62 +54,23 @@ - {{#foreach from=$module.config.input_nature item="input_field"}} - - {{* Vérifier si la suppression de ce type d'entrée est possible *}} - {{:assign suppr=true}} - {{#load type="movement" where="$$.input_nature = :libelle" :libelle=$input_field.label}} - {{:assign suppr=false}} - {{/load}} - + {{#foreach from=$config.input_nature key="label" item="type"}} - {{:input type="text" name="input_fields[label][]" default=$input_field.label}} + {{:input type="text" name="input_fields[label][]" default=$label}} {{:input type="select" name="input_fields[type][]" options=$input_types - default=$input_field.type + default=$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}} + {{:button + label="Supprimer" shape="minus" + disabled=$locked_inputs|has:$label + onclick="this.parentNode.parentNode.remove();"}} - {{else}} - {{* pas de config enregistrée : utiliser les valeurs par défaut *}} - {{#foreach from=$config_defaut.inputs 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="$$.input_nature = :libelle" :libelle=$label}} - {{:assign suppr=false}} - {{/load}} - - - {{:input type="text" name="input_fields[label][]" default=$label}} - {{:input - type="select" - name="input_fields[type][]" - options=$input_types - 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}} - - - {{/foreach}} - {{/foreach}} {{/foreach}} @@ -132,63 +98,24 @@ - {{#foreach from=$module.config.output_nature item="output_field"}} - - {{* Vérifier si la suppression de ce type de sortie est possible *}} - {{:assign suppr=true}} - {{#load type="movement" where="$$.output_nature = :libelle" :libelle=$output_field.label}} - {{:assign suppr=false}} - {{/load}} - + {{#foreach from=$config.output_nature key="label" item="type"}} - {{:input type="text" name="output_fields[label][]" default=$output_field.label}} + {{:input type="text" name="output_fields[label][]" default=$label}} {{:input type="select" name="output_fields[type][]" - options=$output_typess - default=$output_field.type + options=$output_types + default=$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}} + {{:button + label="Supprimer" shape="minus" + disabled=$locked_outputs|has:$label + onclick="this.parentNode.parentNode.remove();"}} - {{else}} - {{* pas de config enregistrée : utiliser les valeurs par défaut *}} - {{#foreach from=$config_defaut.outputs 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="$$.input_nature = :libelle" :libelle=$label}} - {{:assign suppr=false}} - {{/load}} - - - {{:input type="text" name="output_fields[label][]" default=$label}} - {{:input - type="select" - name="output_fields[type][]" - options=$output_typess - 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}} - - - {{/foreach}} - {{/foreach}} {{/foreach}}