equipment/modifier_materiel.html

81 lines
2.3 KiB
HTML
Raw Normal View History

2024-10-28 09:53:29 +01:00
{{* -*- brindille -*- *}}
{{*
Paramètres :
- key : clé du matériel à modifier
*}}
2023-11-20 21:16:47 +01:00
{{:admin_header title="Modifier matériel" current="module_equipment"}}
{{:assign equipment_key=$_GET.key|trim}}
{{#load key=$_GET.key assign="equipment"}}
2023-12-06 09:59:11 +01:00
{{:assign default_category=$equipment.category}}
2023-11-20 21:16:47 +01:00
{{else}}
2023-12-06 09:59:11 +01:00
{{:error message="Pas de matériel avec la clé %s"|args:$equipment_key}}
2023-11-20 21:16:47 +01:00
{{/load}}
{{* Traiter l'envoi du formulaire *}}
{{#form on="save"}}
2023-12-06 09:59:11 +01:00
{{* récupérer les infos de la catégorie *}}
{{#load type="category" key=$_POST.category assign="category"}}
{{/load}}
2023-11-20 21:16:47 +01:00
2023-12-06 09:59:11 +01:00
{{* vérifier la validité des changements demandés *}}
{{:assign chgt_ok=true}}
{{if $_POST.category != $default_category}}
2023-11-20 21:16:47 +01:00
2023-12-06 09:59:11 +01:00
{{* 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}}
2023-11-20 21:16:47 +01:00
2023-12-06 09:59:11 +01:00
{{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}}
2023-11-20 21:16:47 +01:00
2023-12-06 09:59:11 +01:00
{{if !$chgt_ok}}
{{:error message="Erreur : il existe déjà un matériel avec cette désignation"}}
{{/if}}
2023-11-20 21:16:47 +01:00
2023-12-06 09:59:11 +01:00
{{* enregistrer les modifications *}}
{{:save
key=$equipment_key
category=$category.key
designation=$_POST.designation|trim
}}
{{:redirect force="index.html?ok=1&msg=modification"}}
2023-11-20 21:16:47 +01:00
{{else}}
2023-12-06 09:59:11 +01:00
{{:form_errors}}
2023-11-20 21:16:47 +01:00
{{/form}}
{{* lister les catégories disponibles *}}
{{#load type="category" assign="category" order="$$.name"}}
2023-12-06 09:59:11 +01:00
{{:assign var="categories.%s"|args:$category.key value=$category.name}}
2023-11-20 21:16:47 +01:00
{{/load}}
<form method="post" action="">
2023-12-06 09:59:11 +01:00
<fieldset class="modification">
<legend>Modifier un matériel</legend>
<dl>
{{: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}}
</dl>
</fieldset>
2023-11-20 21:16:47 +01:00
2023-12-06 09:59:11 +01:00
<p class="submit">
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
</p>
2023-11-20 21:16:47 +01:00
</form>