Externalisation config par défaut
This commit is contained in:
parent
005b53096c
commit
be70b6ef6e
133
config.html
133
config.html
@ -5,35 +5,37 @@
|
|||||||
{{:include file="/%s/_nav.html"|args:$module.name current="config"}}
|
{{:include file="/%s/_nav.html"|args:$module.name current="config"}}
|
||||||
|
|
||||||
{{if $_GET.ok}}
|
{{if $_GET.ok}}
|
||||||
<p class="block confirm">Configuration enregistrée.</p>
|
<p class="block confirm">Configuration enregistrée.</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
|
||||||
{{:save key="config"
|
{{:save key="config"
|
||||||
validate_schema="./config.schema.json"
|
validate_schema="./config.schema.json"
|
||||||
inputNature=$_POST.input_fields|array_transpose
|
inputNature=$_POST.input_fields|array_transpose
|
||||||
outputNature=$_POST.output_fields|array_transpose
|
outputNature=$_POST.output_fields|array_transpose
|
||||||
}}
|
}}
|
||||||
{{:redirect to="./config.html?ok=1"}}
|
{{:redirect to="./config.html?ok=1"}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{* types d'entrées *}}
|
{{* config par défaut *}}
|
||||||
{{:assign var='types_entrees' définitif="définitif" temporaire="temporaire" retour="retour"}}
|
{{:read file="defaut.json" assign="config_defaut"}}
|
||||||
|
{{:assign config_defaut=$config_defaut|json_decode}}
|
||||||
|
|
||||||
{{* entrées par défaut *}}
|
{{* types d'entrées *}}
|
||||||
{{:assign var='entrees_defaut.Achat' value='définitif'}}
|
{{#foreach from=$config_defaut.entrées item="elem"}}
|
||||||
{{:assign var='entrees_defaut.Location' value='temporaire'}}
|
{{#foreach from=$elem key=label item=value}}
|
||||||
{{:assign var='entrees_defaut.Retour de Location/Prêt' value='retour'}}
|
{{:assign var='types_entrees.%s'|args:$value value=$value}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{/foreach}}
|
||||||
|
|
||||||
{{* types de sorties *}}
|
{{* types de sorties *}}
|
||||||
{{:assign var='types_sorties' définitif="définitif" temporaire="temporaire" retour="retour"}}
|
{{#foreach from=$config_defaut.sorties item="elem"}}
|
||||||
|
{{#foreach from=$elem key=label item=value}}
|
||||||
{{* sorties par défaut *}}
|
{{:assign var='types_sorties.%s'|args:$value value=$value}}
|
||||||
{{:assign var='sorties_defaut.Vente' value='définitif'}}
|
{{/foreach}}
|
||||||
{{:assign var='sorties_defaut.Prêt' value='temporaire'}}
|
{{/foreach}}
|
||||||
{{:assign var='sorties_defaut.Retour de Location/Emprunt' value='retour'}}
|
|
||||||
|
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@ -57,7 +59,13 @@
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{:input type="text" name="input_fields[label][]" default=$input_field.label}}</td>
|
<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">
|
<td class="action">
|
||||||
{{if $suppr}}
|
{{if $suppr}}
|
||||||
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
||||||
@ -68,25 +76,34 @@
|
|||||||
</tr>
|
</tr>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* pas de config enregistrée : utiliser les valeurs par défaut *}}
|
{{* 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 *}}
|
{{* Vérifier si la suppression de ce type d'entrée est possible *}}
|
||||||
{{:assign suppr=true}}
|
{{:assign suppr=true}}
|
||||||
{{#load type="movement" where="$$.inputNature = :libelle" :libelle=$label}}
|
{{#load type="movement" where="$$.inputNature = :libelle" :libelle=$label}}
|
||||||
{{:assign suppr=false}}
|
{{:assign suppr=false}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{:input type="text" name="input_fields[label][]" default=$label}}</td>
|
<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
|
||||||
<td class="action">
|
type="select"
|
||||||
{{if $suppr}}
|
name="input_fields[type][]"
|
||||||
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
options=$types_entrees
|
||||||
{{else}}
|
required=true
|
||||||
{{:button label="Supprimer" shape="minus" disabled=true}}
|
default=$value
|
||||||
{{/if}}
|
default_empty="— Choisir un type —"}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td class="action">
|
||||||
|
{{if $suppr}}
|
||||||
|
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
||||||
|
{{else}}
|
||||||
|
{{:button label="Supprimer" shape="minus" disabled=true}}
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/foreach}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -127,7 +144,14 @@
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{:input type="text" name="output_fields[label][]" default=$output_field.label}}</td>
|
<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">
|
<td class="action">
|
||||||
{{if $suppr}}
|
{{if $suppr}}
|
||||||
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
||||||
@ -138,7 +162,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* pas de config enregistrée : utiliser les valeurs par défaut *}}
|
{{* 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 *}}
|
{{* Vérifier si la suppression de ce type de sortie est possible *}}
|
||||||
{{:assign suppr=true}}
|
{{:assign suppr=true}}
|
||||||
@ -146,17 +171,25 @@
|
|||||||
{{:assign suppr=false}}
|
{{:assign suppr=false}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{:input type="text" name="output_fields[label][]" default=$label}}</td>
|
<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
|
||||||
<td class="action">
|
type="select"
|
||||||
{{if $suppr}}
|
name="output_fields[type][]"
|
||||||
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
options=$types_sorties
|
||||||
{{else}}
|
required=true
|
||||||
{{:button label="Supprimer" shape="minus" disabled=true}}
|
default=$value
|
||||||
{{/if}}
|
default_empty="— Choisir un type —"}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
<td class="action">
|
||||||
|
{{if $suppr}}
|
||||||
|
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
|
||||||
|
{{else}}
|
||||||
|
{{:button label="Supprimer" shape="minus" disabled=true}}
|
||||||
|
{{/if}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/foreach}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
12
defaut.json
Normal file
12
defaut.json
Normal 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" }
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user