From 34f3328f12ad5577ce89facafaa7647bd242fc1b Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Fri, 8 Nov 2024 11:58:59 +0100 Subject: [PATCH] =?UTF-8?q?suppression=20ajout=20mat=C3=A9riel=20existant?= =?UTF-8?q?=20dans=20ajouter=5Fentree?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mouvements/ajouter_entree.html | 115 ++++++++++----------------------- 1 file changed, 34 insertions(+), 81 deletions(-) diff --git a/mouvements/ajouter_entree.html b/mouvements/ajouter_entree.html index a4ba084..022f71e 100644 --- a/mouvements/ajouter_entree.html +++ b/mouvements/ajouter_entree.html @@ -29,66 +29,44 @@ {{* Traiter l'envoi du formulaire *}} {{#form on="save"}} - {{* vérifier les infos saisies *}} + {{* vérifier la quantité saisie (UTILE ? : fait par la navigateur) *}} {{if $_POST.quantite <= 0}} {{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}} {{/if}} - {{if $_POST.equipment == null && - $_POST.category == null && $_POST.designation == null}} - {{:error message="Il faut choisir un matériel existant ou sélectionner une catégorie et indiquer le nom du nouveau matériel"}} - {{elseif $_POST.category == null && $_POST.designation != null}} - {{:error message="Vous devez aussi sélectionner une catégorie"}} - {{/if}} + {{:assign var=post_cat from="categories.%s"|args:$_POST.category}} - {{if $_POST.equipment != null}} - {{:assign equipment_key=$_POST.equipment}} - {{#load key=$_POST.equipment assign=equipment}} - {{/load}} - {{if $_POST.designation != null}} - {{:error message="Vous avez choisi un matériel dans la liste (%s) et indiqué le nom d'un nouveau matériel (%s) : l'un des deux est de trop"|args:$equipment.designation:$_POST.designation}} - {{/if}} - {{/if}} - - {{* infos saisies valides *}} - - {{if $_POST.equipment == null}} - {{* récupérer les infos de la catégorie *}} - {{#load type="category" key=$_POST.category assign="post_category"}} - {{/load}} - - {{* vérifier l'existence d'un matériel du même nom *}} - {{:assign post_mat=$_POST.designation|trim|tolower|ucfirst}} - {{:assign present=false}} - {{#foreach from=$equipments key=nom_cat item=eqpmt}} - {{#foreach from=$eqpmt key=key item=nom}} - {{if $_POST.designation|trim|tolower == $nom|tolower}} - {{:assign equipment_key=$key}} - {{:assign present=true}} - {{:break}} - {{/if}} - {{/foreach}} - {{if $present}}{{:break}}{{/if}} - {{/foreach}} - {{if $present}} - {{* voir si le matériel existe dans une autre catégorie *}} - {{if $nom_cat != $post_category.name}} - {{:error message="Le matériel « %s » est déjà présent dans la catégorie « %s » ..."|args:$post_mat:$nom_cat}} + {{* vérifier l'existence d'un matériel de même nom *}} + {{:assign post_mat=$_POST.designation|trim|tolower|ucfirst}} + {{:assign present=false}} + {{#foreach from=$equipments key=nom_cat item=eqpmt}} + {{#foreach from=$eqpmt key=key item=nom}} + {{if $_POST.designation|trim|tolower == $nom|tolower}} + {{:assign equipment_key=$key}} + {{:assign present=true}} + {{:break}} {{/if}} - {{* utiliser la clé du matériel trouvé *}} - - {{else}} - {{* nouveau matériel => nouvelle clé *}} - {{:assign equipment_key=""|uuid}} - {{* enregistrer un nouveau matériel *}} - {{:save - key=$equipment_key - validate_schema="../equipment.schema.json" - type="equipment" - category=$category.key - designation=$post_mat - }} + {{/foreach}} + {{if $present}}{{:break}}{{/if}} + {{/foreach}} + {{if $present}} + {{* voir si le matériel existe dans une autre catégorie *}} + {{if $nom_cat != $post_cat}} + {{:error message="Le matériel « %s » est déjà présent dans la catégorie « %s » ..."|args:$post_mat:$nom_cat}} {{/if}} + {{* utiliser la clé du matériel trouvé *}} + + {{else}} + {{* nouveau matériel => nouvelle clé *}} + {{:assign equipment_key=""|uuid}} + {{* enregistrer un nouveau matériel *}} + {{:save + key=$equipment_key + validate_schema="../equipment.schema.json" + type="equipment" + category=$category.key + designation=$post_mat + }} {{/if}} {{* Enregistrer le mouvement *}} @@ -126,36 +104,11 @@ - {{if $equipments != null}} -

Choisir un matériel dans la liste ou Sélectionner une catégorie et indiquer le nom du nouveau matériel

- {{/if}}
-
- {{if $equipments != null}} -
- Choisir un matériel dans la liste -
- {{:input type="select_groups" name="equipment" label="Matériel" options=$equipments}} -
-
-

 

- {{/if}} -
- Sélectionner une catégorie et indiquer le nom du nouveau matériel -
-
- {{if $equipments == null}} - {{:assign required=true}} - {{else}} - {{:assign required=false}} - {{/if}} - {{:input type="select" name="category" label="Catégorie" options=$categories required=$required}} - {{:input type="text" name="designation" label="Désignation" required=$required}} -
-
-
-
+ Sélectionner une catégorie et indiquer le nom du nouveau matériel
+ {{:input type="select" name="category" label="Catégorie" options=$categories required=true}} + {{:input type="text" name="designation" label="Désignation" required=true}} {{:input type="textarea" name="remarques" label="Remarques" cols="40", rows="3" required=false}}