From f0d64710fef6c4a2b48a307c5d3e3cb8b52687df Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Mon, 28 Sep 2026 17:00:48 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20v=C3=A9rification=20saisies?= =?UTF-8?q?=20dates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- module.ini | 2 +- movements/add_new_equipment.html | 10 ++++++--- movements/copy_movement.html | 25 ++++++++++++---------- movements/input_equipment.html | 10 ++++++--- movements/modify_movement.html | 25 ++++++++++++---------- movements/output_equipment.html | 36 ++++++++++++++++---------------- movements/output_return.html | 11 +++++++--- 7 files changed, 69 insertions(+), 50 deletions(-) diff --git a/module.ini b/module.ini index fad4364..699d213 100644 --- a/module.ini +++ b/module.ini @@ -1,5 +1,5 @@ name="Gestion des matériels" -description="Permet de gérer un inventaire de matériels, ainsi que de suivre les prêts.\nversion 0.71.3" +description="Permet de gérer un inventaire de matériels, ainsi que de suivre les prêts.\nversion 0.71.4" author="Jean-Christophe Engel" author_url="https://gitea.zaclys.com/lesanges" home_button=true diff --git a/movements/add_new_equipment.html b/movements/add_new_equipment.html index 456cfdd..bf61d42 100644 --- a/movements/add_new_equipment.html +++ b/movements/add_new_equipment.html @@ -26,8 +26,12 @@ {{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}} {{/if}} - {{* interdire date dans le futur *}} - {{if $_POST.date|parse_date|strtotime > $now}} + {{* vérifier la date saisie *}} + {{:assign mvt_date=$_POST.date|parse_date}} + {{if $mvt_date == null || $mvt_date === false}} + {{:error message="La date saisie est vide ou incorrecte (%s)"|args:$_POST.date}} + {{/if}} + {{if $mvt_date|strtotime > $now}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{/if}} @@ -102,7 +106,7 @@ operation=$_POST.operation amount=$_POST.amount|intval equipment=$equipment_key - date=$_POST.date|parse_date + date=$mvt_date comment=$_POST.remarques|trim storage=$_POST.storage transactions=$transactions diff --git a/movements/copy_movement.html b/movements/copy_movement.html index ffc4ed8..6c46b00 100644 --- a/movements/copy_movement.html +++ b/movements/copy_movement.html @@ -77,9 +77,21 @@ {{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}} {{/if}} - {{if $_POST.date|parse_date|strtotime > $now}} + {{* vérifier les dates saisies *}} + {{:assign new_date=$_POST.date|parse_date}} + {{if $new_date == null || $new_date === false}} + {{:error message="La date saisie est vide ou incorrecte (%s)"|args:$_POST.date}} + {{/if}} + {{if $new_date|strtotime > $now}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{/if}} + {{:assign return_date=$_POST.return_date|parse_date}} + {{if $return_date === false}} + {{:error message="La date de retour est incorrecte (%s)"|args:$_POST.return_date}} + {{/if}} + {{if $return_date != null && $return_date < $new_date}} + {{:error message="La date de retour doit être postérieure à la date de sortie !"}} + {{/if}} {{if $mvt_new.direction == "input" && $_POST.user != null}} {{:error message="Un membre ne peut être associé qu'à une sortie"}} @@ -97,18 +109,9 @@ {{* préparer le mouvement copié *}} {{:assign var="mvt_new.operation" value=$_POST.operation}} {{:assign var="mvt_new.amount" value=$_POST.amount}} - {{:assign var="mvt_new.date" value=$_POST.date|parse_date}} + {{:assign var="mvt_new.date" value=$new_date}} {{:assign var="mvt_new.comment" value=$_POST.comment}} - {{if $_POST.return_date != null}} - {{:assign return_date=$_POST.return_date|parse_date}} - {{if $return_date < $_POST.date|parse_date}} - {{:error message="La date de retour doit être postérieure à la date de sortie !"}} - {{/if}} - {{else}} - {{:assign return_date=null}} - {{/if}} - {{* lister les mouvements - insérer le mvt copié à sa place par date croissante diff --git a/movements/input_equipment.html b/movements/input_equipment.html index 9a40942..37c8746 100644 --- a/movements/input_equipment.html +++ b/movements/input_equipment.html @@ -33,8 +33,12 @@ {{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}} {{/if}} - {{* interdire date dans le futur *}} - {{if $_POST.date|parse_date|strtotime > $now}} + {{* vérifier la date saisie *}} + {{:assign mvt_date=$_POST.date|parse_date}} + {{if $mvt_date == null || $mvt_date === false}} + {{:error message="La date saisie est vide ou incorrecte (%s)"|args:$_POST.date}} + {{/if}} + {{if $mvt_date|strtotime > $now}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{/if}} @@ -73,7 +77,7 @@ operation=$_POST.operation amount=$_POST.amount|intval equipment=$equipment.key - date=$_POST.date|parse_date + date=$mvt_date comment=$_POST.remarques|trim storage=$_POST.storage transactions=$transactions diff --git a/movements/modify_movement.html b/movements/modify_movement.html index 7dd87d0..1cec93b 100644 --- a/movements/modify_movement.html +++ b/movements/modify_movement.html @@ -39,9 +39,21 @@ {{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}} {{/if}} - {{if $_POST.date|parse_date|strtotime > $now}} + {{* vérifier les dates saisies *}} + {{:assign new_date=$_POST.date|parse_date}} + {{if $new_date == null || $new_date === false}} + {{:error message="La date saisie est vide ou incorrecte (%s)"|args:$_POST.date}} + {{/if}} + {{if $new_date|strtotime > $now}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{/if}} + {{:assign return_date=$_POST.return_date|parse_date}} + {{if $return_date === false}} + {{:error message="La date de retour est incorrecte (%s)"|args:$_POST.return_date}} + {{/if}} + {{if $return_date != null && $return_date < $new_date}} + {{:error message="La date de retour doit être postérieure à la date de sortie !"}} + {{/if}} {{if $mvt_new.direction == "input" && $_POST.user != null}} {{:error message="Un membre ne peut être associé qu'à une sortie"}} @@ -59,19 +71,10 @@ {{* préparer le mouvement modifié *}} {{:assign var="mvt_new.operation" value=$_POST.operation}} {{:assign var="mvt_new.amount" value=$_POST.amount}} - {{:assign var="mvt_new.date" value=$_POST.date|parse_date}} + {{:assign var="mvt_new.date" value=$new_date}} {{:assign var="mvt_new.comment" value=$_POST.comment}} {{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}} - {{if $_POST.return_date != null}} - {{:assign return_date=$_POST.return_date|parse_date}} - {{if $return_date < $_POST.date|parse_date}} - {{:error message="La date de retour doit être postérieure à la date de sortie !"}} - {{/if}} - {{else}} - {{:assign return_date=null}} - {{/if}} - {{* lister les mouvements - ignorer le mouvement à modifier diff --git a/movements/output_equipment.html b/movements/output_equipment.html index 7947bce..b3908ae 100644 --- a/movements/output_equipment.html +++ b/movements/output_equipment.html @@ -40,10 +40,21 @@ {{#form on="save"}} {{* vérifier la validité de la saisie *}} - {{* interdire date dans le futur *}} - {{if $_POST.date|parse_date|strtotime > $now}} + {{* vérifier les dates saisies *}} + {{:assign mvt_date=$_POST.date|parse_date}} + {{if $mvt_date == null || $mvt_date === false}} + {{:error message="La date saisie est vide ou incorrecte (%s)"|args:$_POST.date}} + {{/if}} + {{if $mvt_date|strtotime > $now}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{/if}} + {{:assign return_date=$_POST.return_date|parse_date}} + {{if $return_date === false}} + {{:error message="La date de retour est incorrecte (%s)"|args:$_POST.return_date}} + {{/if}} + {{if $return_date != null && $return_date < $mvt_date}} + {{:error message="La date de retour doit être postérieure à la date de sortie !"}} + {{/if}} {{if $_POST.operation == ""}} {{:error message="Vous devez choisir un type de sortie"}} @@ -54,15 +65,6 @@ {{:error message="On ne peut associer une date de retour qu'à une sortie temporaire"}} {{/if}} - {{if $_POST.return_date != null}} - {{:assign return_date=$_POST.return_date|parse_date}} - {{if $return_date < $_POST.date|parse_date}} - {{:error message="La date de retour doit être postérieure à la date de sortie !"}} - {{/if}} - {{else}} - {{:assign return_date=null}} - {{/if}} - {{if $_POST.user|count > 1}} {{:error message="Un membre au plus peut être associé à une sortie"}} {{/if}} @@ -79,7 +81,7 @@ {{* lister tous les mouvements du matériel *}} {{#load type="movement" where="$$.equipment = :eqpmt_key" :eqpmt_key=$_GET.key assign="mvt" order="$$.date ASC"}} {{* traiter le nouveau mouvement *}} - {{if ! $insere && $mvt.date > $_POST.date|parse_date}} + {{if ! $insere && $mvt.date > $mvt_date}} {{:assign insere=true}} {{:assign dispo_old="%d-%d"|math:$stock:$exterieur}} @@ -91,8 +93,7 @@ {{:assign dispo="%d-%d"|math:$stock:$exterieur}} {{if $dispo < 0 || $stock < 0 || $exterieur < 0}} - {{:assign date_err=$_POST.date|date:"d/m/Y"}} - {{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$date_err}} + {{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$_POST.date}} {{/if}} {{/if}} @@ -136,8 +137,7 @@ {{:assign dispo="%d-%d"|math:$stock:$exterieur}} {{if $dispo < 0 || $stock < 0 || $exterieur < 0}} - {{:assign date_err=$_POST.date|date:"d/m/Y"}} - {{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$date_err}} + {{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$_POST.date}} {{/if}} {{/if}} @@ -176,13 +176,13 @@ operation=$_POST.operation amount=$_POST.amount|intval equipment=$equipment.key - date=$_POST.date|parse_date + date=$mvt_date comment=$_POST.remarques|trim user=$user.id return_date=$return_date transactions=$transactions }} - {{:redirect force="../equipment_history.html?ok=1&key=%s&prop=1&msg=sortie"|args:$_GET.key}} + {{*:redirect force="../equipment_history.html?ok=1&key=%s&prop=1&msg=sortie"|args:$_GET.key*}} {{/form}} {{:admin_header title="Sortie de matériel" custom_css="./../style.css" current="module_equipment"}} diff --git a/movements/output_return.html b/movements/output_return.html index b5c5e9c..0081e53 100644 --- a/movements/output_return.html +++ b/movements/output_return.html @@ -62,14 +62,19 @@ {{:error message="La quantité (%s) doit être inférieure à la quantité sortie (%s) !!"|args:$_POST.amount:$exterieur}} {{/if}} - {{if $_POST.date|parse_date|strtotime > $now}} + {{* vérifier le date saisie *}} + {{:assign new_date=$_POST.date|parse_date}} + {{if $new_date == null || $new_date === false}} + {{:error message="La date saisie est vide ou incorrecte (%s)"|args:$_POST.date}} + {{/if}} + {{if $new_date|strtotime > $now}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{/if}} {{* préparer le nouveau mouvement *}} {{:assign var="mvt_new.key" value=""|uuid}} {{:assign var="mvt_new.direction" value="input"}} - {{:assign var="mvt_new.date" value=$_POST.date|parse_date}} + {{:assign var="mvt_new.date" value=$new_date}} {{:assign var="mvt_new.operation" value=$_POST.operation}} {{:assign var="mvt_new.amount" value=$_POST.amount}} {{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}} @@ -151,7 +156,7 @@ operation=$_POST.operation amount=$_POST.amount|intval equipment=$equipment.key - date=$_POST.date|parse_date + date=$new_date comment=$_POST.comment|trim user=$mvt_new.user storage=$_POST.storage