diff --git a/inventaire.html b/inventaire.html index bfa0f33..dca9397 100644 --- a/inventaire.html +++ b/inventaire.html @@ -62,6 +62,11 @@ href="%s/historique.html?key=%s"|args:$base_path:$eqpmt_key shape="table" target="_dialog"}} + {{:linkbutton + label="Modifier" + href="%s/modifier_materiel.html?key=%s"|args:$base_path:$eqpmt_key + shape="edit" + target="_dialog"}} {{/if}} diff --git a/modifier_materiel.html b/modifier_materiel.html new file mode 100644 index 0000000..a90183a --- /dev/null +++ b/modifier_materiel.html @@ -0,0 +1,71 @@ +{{:admin_header title="Modifier matériel" current="module_equipment"}} + +{{:assign equipment_key=$_GET.key|trim}} +{{#load key=$_GET.key assign="equipment"}} + {{:assign default_category=$equipment.category}} +{{else}} + {{:error message="Pas de matériel avec la clé %s"|args:$equipment_key}} +{{/load}} + +{{* Traiter l'envoi du formulaire *}} +{{#form on="save"}} + + {{* récupérer les infos de la catégorie *}} + {{#load type="category" key=$_POST.category assign="category"}} + {{/load}} + + {{* vérifier la validité des changements demandés *}} + {{:assign chgt_ok=true}} + {{if $_POST.category != $default_category}} + + {{* catégorie change : vérifier le nom *}} + {{#load key=$equipment_key}} + {{if $designation|trim|tolower != $_POST.designation|trim|tolower}} + {{* le nom change => vérifier l'existence d'un matériel du même nom *}} + {{#load type="equipment" where="lower($$.designation) = :name" :name=$_POST.designation|trim|tolower}} + {{:assign chgt_ok=false}} + {{/load}} + {{else}} + {* le nom ne change pas : ok *}} + {{/if}} + {{/load}} + + {{else}} + {{* catégorie ne change pas => vérifier le nom*}} + {{#load type="equipment" where="lower($$.designation) = :name" :name=$_POST.designation|trim|tolower}} + {{:assign chgt_ok=false}} + {{/load}} + {{/if}} + + {{if !$chgt_ok}} + {{:error message="Erreur : il existe déjà un matériel avec cette désignation"}} + {{/if}} + + {{* enregistrer les modifications *}} + {{:save + key=$equipment_key + category=$category.key + designation=$_POST.designation|trim + }} + {{:redirect force="index.html?ok=1&msg=Modification enregistrée"}} + +{{else}} + {{:form_errors}} +{{/form}} + +{{* lister les catégories disponibles *}} +{{#load type="category" assign="category" order="$$.name"}} + {{:assign var="categories.%s"|args:$category.key value=$category.name}} +{{/load}} + +
+
+ Modifier un matériel + {{:input type="select" name="category" label="Catégorie" default=$default_category required=true options=$categories}} + {{:input type="text" name="designation" label="Désignation" default=$equipment.designation required=true}} +
+ +

+ {{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}} +

+