diff --git a/_calcul_dispo.html b/_calcul_dispo.html index bd60cd0..a389291 100644 --- a/_calcul_dispo.html +++ b/_calcul_dispo.html @@ -25,6 +25,7 @@ {{#load type="equipment" where="$$.category = :category_key" :category_key=$_GET.cat_key}} {{:assign var="equipments.%s.category"|args:$key value=$category}} {{:assign var="equipments.%s.name"|args:$key value=$name}} + {{:assign var="equipments.%s.status"|args:$key value=$status}} {{:assign var="in_equipments." value="'%s'"|args:$key}} {{/load}} {{else}} @@ -32,6 +33,7 @@ {{#load type="equipment"}} {{:assign var="equipments.%s.category"|args:$key value=$category}} {{:assign var="equipments.%s.name"|args:$key value=$name}} + {{:assign var="equipments.%s.status"|args:$key value=$status}} {{:assign var="in_equipments." value="'%s'"|args:$key}} {{/load}} {{/if}} diff --git a/_nav.html b/_nav.html index 4e891d7..bab218c 100644 --- a/_nav.html +++ b/_nav.html @@ -14,6 +14,7 @@
@@ -23,6 +24,12 @@Matériel remis en service
+{{/if}} + +{{* Sélecteur catégories *}} +{{:assign var="options." value="" label="Toutes les catégories" href="?prop=1"}} +{{#load type="category" order="$$.name"}} + {{:assign + var="options." + value=$key + label=$name + href="?cat_key=%s&prop=1"|args:$key + }} +{{/load}} + + + +Inventaire des matériels archivés
+Inventaire des matériels propriété de l'association
-{{* Vérifier s'il y a au moins un matériel propriété de l'asso *}} +{{* Vérifier s'il y a au moins un matériel non archivé propriété de l'asso *}} {{:assign mat_present=false}} {{#foreach from=$equipments key=key item=eqpmt}} - {{if $eqpmt|has_key:"stock"}} + {{if $eqpmt|has_key:"stock" && $eqpmt.status != "archived"}} {{:assign mat_present=true}} {{:break}} {{/if}} @@ -51,7 +51,12 @@ " type="equipment" order=1 - }} + }} + + {{if $status == "archived"}} + {{:continue}} + {{/if}} + {{:assign var=eqpmt_key value=$key}} {{:assign var=cat_key value=$category}} {{:assign var=cat_name from=categories.%s|args:$cat_key}} @@ -63,8 +68,10 @@ {{:assign var=stock from="equipments.%s.stock"|args:$eqpmt_key}} {{:assign var=exterieur from="equipments.%s.exterieur"|args:$eqpmt_key}} {{:assign dispo="%d-%d"|math:$stock:$exterieur}} + {{:assign var=eqpmt from="equipments.%s"|args:$eqpmt_key}} - {{if $stock == null}} + {{if ! $eqpmt|has_key:"stock"}} + {{* aucune unité permanente de ce matériel *}} {{:continue}} {{/if}} @@ -100,7 +107,7 @@ shape="table"}} {{:linkbutton label="Modifier" - href="modifier_materiel.html?key=%s&prop=1"|args:$eqpmt_key + href="modifier_materiel.html?key=%s&prop=1&stock=%s"|args:$eqpmt_key:$stock shape="edit" target="_dialog"}} diff --git a/inventaire_nonprop.html b/inventaire_nonprop.html index 9e3f76d..8f9f7ea 100644 --- a/inventaire_nonprop.html +++ b/inventaire_nonprop.html @@ -34,7 +34,7 @@ {{* Vérifier s'il y a au moins un matériel non propriété de l'asso *}} {{:assign mat_present=false}} {{#foreach from=$equipments key=key item=eqpmt}} - {{if $eqpmt|has_key:"nonproprio"}} + {{if $eqpmt|has_key:"nonproprio" && $eqpmt.status != "archived"}} {{:assign mat_present=true}} {{:break}} {{/if}} diff --git a/modifier_materiel.html b/modifier_materiel.html index a437903..f4b29a7 100644 --- a/modifier_materiel.html +++ b/modifier_materiel.html @@ -8,51 +8,64 @@ {{: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}} +{{:assign default_category=$equipment.category}} {{* 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 $name|trim|tolower != $_POST.name|trim|tolower}} - {{* le nom change => vérifier l'existence d'un matériel du même nom *}} - {{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}} - {{:assign chgt_ok=false}} - {{/load}} - {{else}} - {* le nom ne change pas : ok *}} - {{/if}} - {{/load}} - + {{if $_POST.archive == 1}} + {{* vérifier si le stock est nul *}} + {{if $_GET.stock != 0}} + {{:error message="L'archivage n'est possible que si le stock est nul !"}} + {{/if}} + {{* archiver le matériel *}} + {{:save + key=$equipment_key + status="archived" + }} {{else}} - {{* catégorie ne change pas => vérifier le nom *}} - {{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}} - {{:assign chgt_ok=false}} - {{/load}} + + {{* 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 $name|trim|tolower != $_POST.name|trim|tolower}} + {{* le nom change => vérifier l'existence d'un matériel du même nom *}} + {{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}} + {{: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="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}} + {{: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 + name=$_POST.name|trim|tolower|ucfirst + }} {{/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 - name=$_POST.name|trim|tolower|ucfirst - }} {{:redirect force="index.html?ok=1&msg=modification&prop=%s"|args:$_GET.prop}} {{/form}} @@ -68,8 +81,9 @@ diff --git a/mouvements/ajouter_entree.html b/mouvements/ajouter_entree.html index 8f677c9..86edf40 100644 --- a/mouvements/ajouter_entree.html +++ b/mouvements/ajouter_entree.html @@ -60,6 +60,7 @@ type="equipment" category=$_POST.category name=$post_mat + status="available" }} {{/if}} diff --git a/unarchive_equipment.html b/unarchive_equipment.html new file mode 100644 index 0000000..035e0ca --- /dev/null +++ b/unarchive_equipment.html @@ -0,0 +1,50 @@ +{{* -*- brindille -*- *}} + +{{* + Remettre le matériel en service + Paramètres : + - key : clé du matériel à modifier +*}} + +{{:assign equipment_key=$_GET.key|trim}} +{{#load key=$_GET.key assign="equipment"}} +{{else}} + {{:error message="Pas de matériel avec la clé %s"|args:$equipment_key}} +{{/load}} + +{{* Traiter l'envoi du formulaire *}} +{{#form on="save"}} + {{if $_POST.unarchive == 1}} + {{:save + key=$equipment.key + status="available" + }} + {{/if}} + {{:redirect force="archives.html?ok=1&msg=modification"}} +{{/form}} + +{{:admin_header title="Modifier matériel" custom_css="./style.css" current="module_equipment"}} +{{:form_errors}} + +{{#load key=$equipment.category}} + {{:assign cat_name=$name}} +{{/load}} + +