diff --git a/_get_config.html b/_get_config.html index 07ef418..671a20e 100644 --- a/_get_config.html +++ b/_get_config.html @@ -16,13 +16,15 @@ {{:assign var="nature" from="module.config.%s_nature"|args:$direction}} {{if $nature != null}} {{#foreach from=$nature item="elem"}} - {{:assign var="config.%s_nature.%s"|args:$direction:$key value=$elem}} + {{:assign var="item" label=$label type=$type fee=$fee}} + {{:assign var="config.%s_nature.%s"|args:$direction:$key value=$item}} {{/foreach}} {{else}} {{* pas de config enregistrée : utiliser la config par défaut *}} {{:assign var="nature" from="config_defaut.%ss"|args:$direction}} {{#foreach from=$nature item="elem"}} - {{:assign var="config.%s_nature.%s"|args:$direction:$key value=$elem}} + {{:assign var="item" label=$label type=$type}} + {{:assign var="config.%s_nature.%s"|args:$direction:$key value=$item}} {{/foreach}} {{/if}} {{/foreach}} diff --git a/_inventory.html b/_inventory.html index 213bcc9..53e9566 100644 --- a/_inventory.html +++ b/_inventory.html @@ -5,20 +5,14 @@ *}} {{* filtrer selon la catégorie *}} -{{:assign saved_filters=$module.config.filters}} -{{:assign var="user_filters" from="saved_filters.%s"|args:$logged_user.id}} - {{if $_GET.cat_key == null}} - {{:assign selected_category=$user_filters.stock_cat_key}} + {{:assign selected_category=$module.config.stock_cat_key}} +{{elseif $_GET.cat_key == -1}} + {{:assign selected_category=null}} + {{:save key="config" stock_cat_key=null}} {{else}} - {{if $_GET.cat_key == -1}} - {{:assign selected_category=null}} - {{else}} - {{:assign selected_category=$_GET.cat_key}} - {{/if}} - {{:assign var="user_filters.stock_cat_key" value=$selected_category}} - {{:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters}} - {{:save key="config" filters=$saved_filters}} + {{:assign selected_category=$_GET.cat_key}} + {{:save key="config" stock_cat_key=$selected_category}} {{/if}} {{* condition de filtrage *}} @@ -31,16 +25,13 @@ {{* filtrer selon appartenance *}} {{if $_GET.prop == null}} - {{:assign selected_prop=$user_filters.stock_prop}} + {{:assign selected_prop=$module.config.stock_prop}} +{{elseif $_GET.prop == -1}} + {{:assign selected_prop=null}} + {{:save key="config" stock_prop=null}} {{else}} - {{if $_GET.prop == -1}} - {{:assign selected_prop=null}} - {{else}} - {{:assign selected_prop=$_GET.prop}} - {{/if}} - {{:assign var="user_filters.stock_prop" value=$selected_prop}} - {{:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters}} - {{:save key="config" filters=$saved_filters}} + {{:assign selected_prop=$_GET.prop}} + {{:save key="config" stock_prop=$_GET.prop}} {{/if}} {{if $selected_prop == null}} diff --git a/config.html b/config.html index f4bab4a..f5bb3ec 100644 --- a/config.html +++ b/config.html @@ -11,7 +11,7 @@

Configuration enregistrée.

{{/if}} -{{* lecture config *}} +{{* lecture config (défaut ou enregistrée) *}} {{:include file="./_get_config.html" keep="config_defaut, config, directions"}} {{* interdire la modification et la suppression des types de mouvement prédéfinis *}} @@ -41,13 +41,6 @@ {{:assign var="nature" from="config.%s_nature"|args:$direction}} {{#foreach from=$nature key=key}} - {{:assign sortie_temp=false}} - {{if $direction == 'output'}} - {{:assign var="type" from="nature.%s.type"|args:$key}} - {{if $type == 'temporaire'}} - {{:assign sortie_temp=true}} - {{/if}} - {{/if}} {{$label}} {{$type}} @@ -55,7 +48,7 @@ {{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 || $sortie_temp}} + {{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}} diff --git a/config/misc.html b/config/misc.html index ba11eec..f58c655 100644 --- a/config/misc.html +++ b/config/misc.html @@ -2,35 +2,57 @@ {{#restrict block=true section="accounting" level="write"}}{{/restrict}} +{{* lecture config (défaut ou enregistrée) *}} +{{:include file="../_get_config.html" keep="loan_duration"}} + {{#form on="save"}} - {{* vérifier la valisité de la durée saisie *}} - {{if $_POST.loan_duration <= 0}} - {{:error message="Durée (%s) erronée ; doit être > 0"|args:$_POST.loan_duration}} - {{/if}} + {{* vérifier si les boutons ont été cochés *}} + {{#foreach from=$module.config.output_nature item="elem"}} + {{if $elem.type == 'temporaire'}} + {{if $_POST|has_key:$elem.key}} + {{:assign var="fee" from="_POST.%s"|args:$elem.key}} + {{:assign var="elem" key=$elem.key label=$elem.label type=$elem.type fee=$fee}} + {{else}} + {{:error message="Vous n'avez pas fait de choix pour la sortie « %s »"|args:$elem.label}} + {{/if}} + {{/if}} + {{:assign var="output_nature." value=$elem}} + {{/foreach}} {{:save key="config" + output_nature=$output_nature loan_duration=$_POST.loan_duration }} {{/form}} -{{:admin_header title="Configuration" current="module_equipment"}} {{:include file="../_nav.html" current="config" subcurrent="divers"}} +{{:admin_header title="Configuration" current="module_equipment"}} {{:form_errors}} {{if $_GET.ok}}

Configuration enregistrée.

{{/if}} -{{* lecture config *}} -{{:include file="../_get_config.html" keep="loan_duration"}} -
+
+ Sorties temporaires +

Pour chaque sortie temporaire, indiquer si elle est gratuite ou payante

+
+ {{#foreach from=$module.config.output_nature}} + {{if $type == 'temporaire'}} + {{:input type="radio-btn" name=$key value="gratuit" label="Gratuit" required=true prefix_title=$label default=$fee}} + {{:input type="radio-btn" name=$key value="payant" label="Payant" required=true default=$fee}} + {{/if}} + {{/foreach}} +
+
Autres paramètres
{{:input type="number" name="loan_duration" label="Durée de prêt par défaut" min=1 required=true default=$loan_duration help="Durée en nombre de jours"}} +

diff --git a/config/modify_movement_type.html b/config/modify_movement_type.html index c5f7915..5d99d4d 100644 --- a/config/modify_movement_type.html +++ b/config/modify_movement_type.html @@ -5,38 +5,40 @@ {{* paramètres : - dir : input ou output - - op_key : clé du type de mouvement dont on veut modifier le libellé ou le tarif + - op_key : clé du type de mouvement dont on veut modifier le libellé *}} {{* lecture config (défaut ou enregistrée) *}} -{{:include file="../_get_config.html" keep="config_defaut, config, directions"}} +{{: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"}} - {{if $_POST.tarif == null && $_POST.name == null}} - {{:redirect to="./config.html"}} - {{/if}} {{#foreach from=$directions key="direction"}} {{:assign var="nature" from="config.%s_nature"|args:$direction}} {{#foreach from=$nature key="key" item="elem"}} - {{if $_POST.name == null}} - {{:assign label=$elem.label}} + {{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}} + {{if $_GET.dir == $direction && $key == $_GET.op_key}} + {{:assign label=$_POST.name|trim}} {{else}} - {{if $_GET.dir == $direction && $key != $_GET.op_key && - $_POST.name|trim|tolower == $elem.label|trim|tolower}} - {{:error message="Le libellé « %s » est déjà présent"|args:$_POST.name}} - {{/if}} - {{if $_GET.dir == $direction && $key == $_GET.op_key}} - {{:assign label=$_POST.name|trim}} - {{else}} - {{:assign label=$elem.label}} - {{/if}} + {{: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}} - {{if $_POST.tarif != null && $key == $_GET.op_key}} - {{:assign var="%s_nature.fee"|args:$direction value=$_POST.tarif}} - {{/if}} {{:assign var="%s_natures."|args:$direction from="%s_nature"|args:$direction}} {{/foreach}} {{/foreach}} @@ -51,59 +53,18 @@ {{/form}} {{:admin_header title="Gestion des matériels" current="module_equipment"}} +{{* barre de navigation *}} {{if ! $dialog}} {{:include file="../_nav.html" current="config" subcurrent="typesES"}} {{/if}} {{:form_errors}} -{{* vérifier que $_GET.dir est bien une direction connue *}} -{{if ! $directions|has_key:$_GET.dir}} - {{:error message="Direction « %s » inconnue !"|args:$_GET.dir}} -{{/if}} - -{{* vérifier que $_GET.op_key est bien dans la liste des opérations *}} -{{:assign var="config_nature" from="config.%s_nature"|args:$_GET.dir}} -{{if ! $config_nature|keys|has:$_GET.op_key}} - {{:error message="Type de mouvement inconnu !"}} -{{/if}} - -{{* sortie temporaire ? *}} -{{:assign sortie_temp=false}} -{{if $_GET.dir == 'output'}} - {{:assign var="elem" from="config_nature.%s"|args:$_GET.op_key}} - {{if $elem.type == 'temporaire'}} - {{:assign sortie_temp=true}} - {{:assign fee=$elem.fee}} - {{/if}} -{{/if}} - -{{* mouvement prédéfini ? *}} -{{:assign var="default_nature" from="config_defaut.%ss"|args:$_GET.dir}} -{{#foreach from=$default_nature item="elem"}} - {{:assign var="default_keys." value=$key}} -{{/foreach}} - -{{:assign label_mod=true}} -{{if $default_keys|has:$_GET.op_key}} - {{:assign label_mod=false}} -{{/if}} - -{{if ! $label_mod && ! $sortie_temp}} - {{:error message="Ce type de mouvement ne peut être modifié"}} -{{/if}} - {{:assign var="default_label" from="config.%s_nature.%s.label"|args:$_GET.dir:$_GET.op_key}}

- Paramètres + Modifier le libellé
- {{if $label_mod}} - {{:input type="text" name="name" label="Libellé" default=$default_label required=true maxlength="100"}} - {{/if}} - {{if $sortie_temp}} - {{:input type="radio-btn" name="tarif" value="gratuit" label="Gratuit" required=true default=$fee prefix_title=Tarif}} - {{:input type="radio-btn" name="tarif" value="payant" label="Payant" required=true default=$fee}} - {{/if}} + {{:input type="text" name="name" label="Libellé" default=$default_label required=true maxlength="100"}}

{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} diff --git a/global_history.html b/global_history.html index 47a01ba..6038924 100644 --- a/global_history.html +++ b/global_history.html @@ -14,20 +14,14 @@ {{:include file="./_get_config.html" keep="config"}} {{* filtrer selon la catégorie *}} -{{:assign saved_filters=$module.config.filters}} -{{:assign var="user_filters" from="saved_filters.%s"|args:$logged_user.id}} - {{if $_GET.cat_key == null}} - {{:assign selected_category=$user_filters.hist_cat_key}} + {{:assign selected_category=$module.config.hist_cat_key}} +{{elseif $_GET.cat_key == -1}} + {{:assign selected_category=null}} + {{:save key="config" hist_cat_key=null}} {{else}} - {{if $_GET.cat_key == -1}} - {{:assign selected_category=null}} - {{else}} - {{:assign selected_category=$_GET.cat_key}} - {{/if}} - {{:assign var="user_filters.hist_cat_key" value=$selected_category}} - {{:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters}} - {{:save key="config" filters=$saved_filters}} + {{:assign selected_category=$_GET.cat_key}} + {{:save key="config" hist_cat_key=$selected_category}} {{/if}} {{* condition de filtrage *}} @@ -43,16 +37,13 @@ {{* filtrer selon appartenance *}} {{if $_GET.prop == null}} - {{:assign selected_prop=$user_filters.hist_prop}} + {{:assign selected_prop=$module.config.hist_prop}} +{{elseif $_GET.prop == -1}} + {{:assign selected_prop=null}} + {{:save key="config" hist_prop=null}} {{else}} - {{if $_GET.prop == -1}} - {{:assign selected_prop=null}} - {{else}} - {{:assign selected_prop=$_GET.prop}} - {{/if}} - {{:assign var="user_filters.hist_prop" value=$selected_prop}} - {{:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters}} - {{:save key="config" filters=$saved_filters}} + {{:assign selected_prop=$_GET.prop}} + {{:save key="config" hist_prop=$_GET.prop}} {{/if}} {{* déterminer les types de mouvements selon l'appartenance du matériel *}} diff --git a/loan_history.html b/loan_history.html index a7ff7de..f825528 100644 --- a/loan_history.html +++ b/loan_history.html @@ -38,24 +38,26 @@ {{/if}} {{/if}} -{{* lecture config *}} +{{* lecture config (défaut ou enregistrée) *}} {{:include file="./_get_config.html" keep="config"}} {{* filtrer selon la catégorie *}} -{{:assign saved_filters=$module.config.filters}} -{{:assign var="user_filters" from="saved_filters.%s"|args:$logged_user.id}} - {{if $_GET.cat_key == null}} - {{:assign var="selected_category" from="user_filters.%s_hist_cat_key"|args:$_GET.output_type}} -{{else}} - {{if $_GET.cat_key == -1}} - {{:assign selected_category=null}} - {{else}} - {{:assign selected_category=$_GET.cat_key}} + {{:assign var="selected_category" from="module.config.%s_hist_cat_key"|args:$_GET.output_type}} +{{elseif $_GET.cat_key == -1}} + {{:assign selected_category=null}} + {{if $_GET.output_type == "loan"}} + {{:save key="config" loan_hist_cat_key=null}} + {{elseif $_GET.output_type == "rent"}} + {{:save key="config" rent_hist_cat_key=null}} + {{/if}} +{{else}} + {{:assign selected_category=$_GET.cat_key}} + {{if $_GET.output_type == "loan"}} + {{:save key="config" loan_hist_cat_key=$selected_category}} + {{elseif $_GET.output_type == "rent"}} + {{:save key="config" rent_hist_cat_key=$selected_category}} {{/if}} - {{:assign var="user_filters.%s_hist_cat_key"|args:$_GET.output_type value=$selected_category}} - {{:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters}} - {{:save key="config" filters=$saved_filters}} {{/if}} {{* condition de filtrage *}} diff --git a/loan_movements.html b/loan_movements.html index 4b56e9e..55d74f7 100644 --- a/loan_movements.html +++ b/loan_movements.html @@ -15,6 +15,7 @@ {{/if}} {{:admin_header title="Historique des %ss"|args:$label custom_css="./style.css" current="module_equipment"}} + {{:include file="./_nav.html" current="%s"|args:$label subcurrent="historique"}} {{* @@ -46,20 +47,22 @@ {{:include file="./_get_config.html" keep="config"}} {{* filtrer selon la catégorie *}} -{{:assign saved_filters=$module.config.filters}} -{{:assign var="user_filters" from="saved_filters.%s"|args:$logged_user.id}} - {{if $_GET.cat_key == null}} - {{:assign var="selected_category" from="user_filters.%s_cat_key"|args:$_GET.output_type}} -{{else}} - {{if $_GET.cat_key == -1}} - {{:assign selected_category=null}} - {{else}} - {{:assign selected_category=$_GET.cat_key}} + {{:assign var="selected_category" from="module.config.%s_cat_key"|args:$_GET.output_type}} +{{elseif $_GET.cat_key == -1}} + {{:assign selected_category=null}} + {{if $_GET.output_type == "loan"}} + {{:save key="config" loan_cat_key=null}} + {{elseif $_GET.output_type == "rent"}} + {{:save key="config" rent_cat_key=null}} + {{/if}} +{{else}} + {{:assign selected_category=$_GET.cat_key}} + {{if $_GET.output_type == "loan"}} + {{:save key="config" loan_cat_key=$selected_category}} + {{elseif $_GET.output_type == "rent"}} + {{:save key="config" rent_cat_key=$selected_category}} {{/if}} - {{:assign var="user_filters.%s_cat_key"|args:$_GET.output_type value=$selected_category}} - {{:assign var="saved_filters.%s"|args:$logged_user.id value=$user_filters}} - {{:save key="config" filters=$saved_filters}} {{/if}} {{* condition de filtrage *}}