From 53c0deee228ca9bce74d36903a4327aba70d097f Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Thu, 25 Sep 2025 10:38:08 +0200 Subject: [PATCH] =?UTF-8?q?Correction=20erreur=20si=20certains=20types=20d?= =?UTF-8?q?'entr=C3=A9es=20ou=20sorties=20sont=20absents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _get_config.html | 3 +- config/add_movement_type.html | 4 +- snippets/user_details.html | 92 +++++++++++++++++++---------------- 3 files changed, 53 insertions(+), 46 deletions(-) diff --git a/_get_config.html b/_get_config.html index 3fe6f2d..8f36df8 100644 --- a/_get_config.html +++ b/_get_config.html @@ -2,6 +2,7 @@ {{* Récupérer soit la config enregistrée, soit la config par défaut + @param : default = true si config par défaut résultat : config.input_nature et config.output_nature *}} @@ -14,7 +15,7 @@ {{#foreach from=$directions key="direction"}} {{:assign var="nature" from="module.config.%s_nature"|args:$direction}} - {{if $nature != null}} + {{if $nature != null && ! $default}} {{#foreach from=$nature item="elem"}} {{:assign var="item" label=$label type=$type}} {{:assign var="config.%s_nature.%s"|args:$direction:$key value=$item}} diff --git a/config/add_movement_type.html b/config/add_movement_type.html index 00c3941..bb7d64b 100644 --- a/config/add_movement_type.html +++ b/config/add_movement_type.html @@ -12,8 +12,8 @@ {{* Traiter l'envoi du formulaire *}} -{{* lecture config (défaut ou enregistrée) *}} -{{:include file="../_get_config.html" keep="config, directions"}} +{{* lecture config par défaut *}} +{{:include file="../_get_config.html" keep="config, directions" default=true}} {{#form on="save"}} {{* vérifier s'il existe un type de mouvement de même nom *}} diff --git a/snippets/user_details.html b/snippets/user_details.html index bb1bfcf..b288eb2 100644 --- a/snippets/user_details.html +++ b/snippets/user_details.html @@ -30,29 +30,32 @@ {{/load}} {{if $table_presente}} - {{#select - eqpmt.key as eqpmt_key, - json_extract(eqpmt.document, '$.name') as eqpmt_name, - mvt.key AS mvt_key, - json_extract(mvt.document, '$.direction') as direction, - json_extract(mvt.document, '$.operation') as operation, - json_extract(mvt.document, '$.date') as date, - json_extract(mvt.document, '$.amount') as amount - FROM module_data_equipment AS mvt - INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id - INNER JOIN module_data_equipment AS eqpmt - ON json_extract(mvt.document, '$.equipment') = eqpmt.key - WHERE users.id = :user - AND (json_extract(mvt.document, '$.operation') IN !output_types - OR json_extract(mvt.document, '$.operation') IN !input_types) - ORDER BY date - ; - :user = $user.id - !output_types=$output_types.temporaire - !input_types=$input_types.retour - assign="temp_mat." - }} - {{/select}} + {{* vérifier la présence des types d'entrées et de sorties requis *}} + {{if $output_types|has_key:"temporaire" && $input_types|has_key:"retour"}} + {{#select + eqpmt.key as eqpmt_key, + json_extract(eqpmt.document, '$.name') as eqpmt_name, + mvt.key AS mvt_key, + json_extract(mvt.document, '$.direction') as direction, + json_extract(mvt.document, '$.operation') as operation, + json_extract(mvt.document, '$.date') as date, + json_extract(mvt.document, '$.amount') as amount + FROM module_data_equipment AS mvt + INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id + INNER JOIN module_data_equipment AS eqpmt + ON json_extract(mvt.document, '$.equipment') = eqpmt.key + WHERE users.id = :user + AND (json_extract(mvt.document, '$.operation') IN !output_types + OR json_extract(mvt.document, '$.operation') IN !input_types) + ORDER BY date + ; + :user = $user.id + !output_types=$output_types.temporaire + !input_types=$input_types.retour + assign="temp_mat." + }} + {{/select}} + {{/if}} {{if $temp_mat|count != 0}}

Matériels attribués temporairement

@@ -102,26 +105,29 @@ {{/if}} - {{#select - eqpmt.key as eqpmt_key, - json_extract(eqpmt.document, '$.name') as eqpmt_name, - json_extract(mvt.document, '$.direction') as direction, - json_extract(mvt.document, '$.operation') as operation, - json_extract(mvt.document, '$.date') as date, - json_extract(mvt.document, '$.amount') as amount - FROM module_data_equipment AS mvt - INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id - INNER JOIN module_data_equipment AS eqpmt - ON json_extract(mvt.document, '$.equipment') = eqpmt.key - WHERE users.id = :user - AND json_extract(mvt.document, '$.operation') IN !output_types - ORDER BY date DESC - ; - :user = $user.id - !output_types=$output_types.définitif - assign="def_mat." - }} - {{/select}} + {{* vérifier la présence des types d'entrées et de sorties requis *}} + {{ if $output_types|has_key:"définitif"}} + {{#select + eqpmt.key as eqpmt_key, + json_extract(eqpmt.document, '$.name') as eqpmt_name, + json_extract(mvt.document, '$.direction') as direction, + json_extract(mvt.document, '$.operation') as operation, + json_extract(mvt.document, '$.date') as date, + json_extract(mvt.document, '$.amount') as amount + FROM module_data_equipment AS mvt + INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id + INNER JOIN module_data_equipment AS eqpmt + ON json_extract(mvt.document, '$.equipment') = eqpmt.key + WHERE users.id = :user + AND json_extract(mvt.document, '$.operation') IN !output_types + ORDER BY date DESC + ; + :user = $user.id + !output_types=$output_types.définitif + assign="def_mat." + }} + {{/select}} + {{/if}} {{if $def_mat|count != 0}}

Matériels attribués définitivement