diff --git a/_nav.html b/_nav.html index dfdf9ef..e2e6170 100644 --- a/_nav.html +++ b/_nav.html @@ -60,9 +60,7 @@ {{/if}} diff --git a/config.html b/config.html index 9927c5e..f5bb3ec 100644 --- a/config.html +++ b/config.html @@ -12,14 +12,21 @@ {{/if}} {{* lecture config (défaut ou enregistrée) *}} -{{:include file="./_get_config.html" keep="config, directions"}} +{{:include file="./_get_config.html" keep="config_defaut, config, directions"}} + +{{* interdire la modification et la suppression des types de mouvement prédéfinis *}} +{{#foreach from=$directions key="direction"}} + {{:assign var="nature" from="config_defaut.%ss"|args:$direction}} + {{#foreach from=$nature item="elem"}} + {{:assign var="default_keys." value=$key}} + {{/foreach}} +{{/foreach}} {{#foreach from=$directions key="direction" item="item"}} {{* types de mouvements qui ne peuvent être supprimés *}} {{#load type="movement" where="$$.direction='%s'"|args:$direction group="$$.operation"}} - {{:assign var="op_label" from="config.%s_nature.%s.label"|args:$direction:$operation}} - {{:assign var="locked_%ss."|args:$direction value=$op_label}} + {{:assign var="locked." value=$operation}} {{/load}}

{{$item|ucfirst}}s

@@ -38,11 +45,12 @@ {{$label}} {{$type}} - {{:assign var="locked" from="locked_%ss"|args:$direction}} - {{if ! $locked|has:$label}} + {{if ! $default_keys|has:$key && ! $locked|has:$key}} {{:linkbutton label="Supprimer" shape="delete" href="config/delete_movement_type.html?dir=%s&op_key=%s"|args:$direction:$key target="_dialog"}} {{/if}} + {{if ! $default_keys|has:$key}} {{:linkbutton label="Modifier" shape="edit" href="config/modify_movement_type.html?dir=%s&op_key=%s"|args:$direction:$key target="_dialog"}} + {{/if}} {{/foreach}} diff --git a/config/delete_movement_type.html b/config/delete_movement_type.html index 4f0ddaa..801f821 100644 --- a/config/delete_movement_type.html +++ b/config/delete_movement_type.html @@ -10,16 +10,28 @@ {{* lecture config (défaut ou enregistrée) *}} -{{:include file="../_get_config.html" keep="config, directions"}} +{{:include file="../_get_config.html" keep="config_defaut, config, directions"}} + +{{if ! $directions|has_key:$_GET.dir}} + {{:error message="Direction « %s » inconnue !"|args:$_GET.dir}} +{{/if}} + +{{* interdire la suppression des types de mouvement prédéfinis *}} +{{:assign var="nature" from="config_defaut.%ss"|args:$_GET.dir}} +{{#foreach from=$nature item="elem"}} + {{:assign var="default_keys." value=$key}} +{{/foreach}} +{{if $default_keys|has:$_GET.op_key}} + {{:error message="Ce type de mouvement ne peut être supprimé"}} +{{/if}} {{#form on="delete"}} {{#foreach from=$directions key="direction"}} {{:assign var="nature" from="config.%s_nature"|args:$direction}} - {{#foreach from=$nature key="key"}} + {{#foreach from=$nature key="key" item="elem"}} {{if $_GET.dir == $direction && $key != $_GET.op_key || $_GET.dir != $direction}} + {{:assign var="%s_nature"|args:$direction value=$elem}} {{:assign var="%s_nature.key"|args:$direction value=$key}} - {{:assign var="%s_nature.label"|args:$direction value=$label}} - {{:assign var="%s_nature.type"|args:$direction value=$type}} {{:assign var="%s_natures."|args:$direction from="%s_nature"|args:$direction}} {{/if}} {{/foreach}} diff --git a/config/modify_movement_type.html b/config/modify_movement_type.html index 89d9970..5d99d4d 100644 --- a/config/modify_movement_type.html +++ b/config/modify_movement_type.html @@ -11,21 +11,34 @@ {{* lecture config (défaut ou enregistrée) *}} {{:include file="../_get_config.html" keep="config, directions"}} +{{if ! $directions|has_key:$_GET.dir}} + {{:error message="Direction « %s » inconnue !"|args:$_GET.dir}} +{{/if}} + +{{* interdire la modification des types de mouvement prédéfinis *}} +{{:assign var="nature" from="config_defaut.%ss"|args:$_GET.dir}} +{{#foreach from=$nature item="elem"}} + {{:assign var="default_keys." value=$key}} +{{/foreach}} +{{if $default_keys|has:$_GET.op_key}} + {{:error message="Ce type de mouvement ne peut être modifié"}} +{{/if}} + {{#form on="save"}} {{#foreach from=$directions key="direction"}} {{:assign var="nature" from="config.%s_nature"|args:$direction}} - {{#foreach from=$nature key="key"}} - {{:assign var="%s_nature.key"|args:$direction value=$key}} - {{if $_GET.dir == $direction}} - {{if $key == $_GET.op_key}} - {{:assign var="%s_nature.label"|args:$direction value=$_POST.name|trim}} - {{else}} - {{:assign var="%s_nature.label"|args:$direction value=$label}} - {{/if}} - {{else}} - {{:assign var="%s_nature.label"|args:$direction value=$label}} + {{#foreach from=$nature key="key" item="elem"}} + {{if $_GET.dir == $direction && $_POST.name|trim|tolower == $elem.label|trim|tolower}} + {{:error message="Le libellé « %s » est déjà présent"|args:$_POST.name}} {{/if}} - {{:assign var="%s_nature.type"|args:$direction value=$type}} + {{if $_GET.dir == $direction && $key == $_GET.op_key}} + {{:assign label=$_POST.name|trim}} + {{else}} + {{:assign label=$elem.label}} + {{/if}} + {{:assign var="%s_nature"|args:$direction value=$elem}} + {{:assign var="%s_nature.label"|args:$direction value=$label}} + {{:assign var="%s_nature.key"|args:$direction value=$key}} {{:assign var="%s_natures."|args:$direction from="%s_nature"|args:$direction}} {{/foreach}} {{/foreach}}