Externalisation config par défaut

This commit is contained in:
Jean-Christophe Engel 2023-11-29 20:14:31 +01:00
parent 005b53096c
commit be70b6ef6e
2 changed files with 95 additions and 50 deletions

View File

@ -19,21 +19,23 @@
{{:redirect to="./config.html?ok=1"}}
{{/form}}
{{* types d'entrées *}}
{{:assign var='types_entrees' définitif="définitif" temporaire="temporaire" retour="retour"}}
{{* config par défaut *}}
{{:read file="defaut.json" assign="config_defaut"}}
{{:assign config_defaut=$config_defaut|json_decode}}
{{* entrées par défaut *}}
{{:assign var='entrees_defaut.Achat' value='définitif'}}
{{:assign var='entrees_defaut.Location' value='temporaire'}}
{{:assign var='entrees_defaut.Retour de Location/Prêt' value='retour'}}
{{* 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 *}}
{{:assign var='types_sorties' définitif="définitif" temporaire="temporaire" retour="retour"}}
{{* sorties par défaut *}}
{{:assign var='sorties_defaut.Vente' value='définitif'}}
{{:assign var='sorties_defaut.Prêt' value='temporaire'}}
{{:assign var='sorties_defaut.Retour de Location/Emprunt' value='retour'}}
{{#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}}
<form method="post" action="">
<fieldset>
@ -57,7 +59,13 @@
<tr>
<td>{{:input type="text" name="input_fields[label][]" default=$input_field.label}}</td>
<td>{{:input type="select" name="input_fields[type][]" options=$types_entrees default=$input_field.type required=true default_empty="— Choisir un type —"}}</td>
<td>{{:input type="select"
name="input_fields[type][]"
options=$types_entrees
default=$input_field.type
required=true
default_empty="— Choisir un type —"}}
</td>
<td class="action">
{{if $suppr}}
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
@ -68,7 +76,8 @@
</tr>
{{else}}
{{* pas de config enregistrée : utiliser les valeurs par défaut *}}
{{#foreach from=$entrees_defaut key="label" item="value"}}
{{#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}}
@ -78,7 +87,14 @@
<tr>
<td>{{:input type="text" name="input_fields[label][]" default=$label}}</td>
<td>{{:input type="select" name="input_fields[type][]" options=$types_entrees required=true default=$value default_empty="— Choisir un type —"}}</td>
<td>{{:input
type="select"
name="input_fields[type][]"
options=$types_entrees
required=true
default=$value
default_empty="— Choisir un type —"}}
</td>
<td class="action">
{{if $suppr}}
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
@ -89,6 +105,7 @@
</tr>
{{/foreach}}
{{/foreach}}
{{/foreach}}
</tbody>
</table>
<p class="actions">
@ -127,7 +144,14 @@
<tr>
<td>{{:input type="text" name="output_fields[label][]" default=$output_field.label}}</td>
<td>{{:input type="select" name="output_fields[type][]" options=$types_sorties default=$output_field.type required=true default_empty="— Choisir un type —"}}</td>
<td>{{:input
type="select"
name="output_fields[type][]"
options=$types_sorties
default=$output_field.type
required=true
default_empty="— Choisir un type —"}}
</td>
<td class="action">
{{if $suppr}}
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
@ -138,7 +162,8 @@
</tr>
{{else}}
{{* pas de config enregistrée : utiliser les valeurs par défaut *}}
{{#foreach from=$sorties_defaut key="label" item="value"}}
{{#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}}
@ -148,7 +173,14 @@
<tr>
<td>{{:input type="text" name="output_fields[label][]" default=$label}}</td>
<td>{{:input type="select" name="output_fields[type][]" options=$types_sorties required=true default=$value default_empty="— Choisir un type —"}}</td>
<td>{{:input
type="select"
name="output_fields[type][]"
options=$types_sorties
required=true
default=$value
default_empty="— Choisir un type —"}}
</td>
<td class="action">
{{if $suppr}}
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
@ -159,6 +191,7 @@
</tr>
{{/foreach}}
{{/foreach}}
{{/foreach}}
</tbody>
</table>
<p class="actions">

12
defaut.json Normal file
View File

@ -0,0 +1,12 @@
{
"entrées" : [
{ "Achat" : "définitif" },
{ "Location" : "temporaire" },
{ "Retour de Location/Prêt" : "retour" }
],
"sorties" : [
{ "Vente" : "définitif" },
{ "Prêt" : "temporaire" },
{ "Retour de Location/Emprunt" : "retour" }
]
}