diff --git a/_calcul_dispo.html b/_calcul_dispo.html index a1115e1..bcd6997 100644 --- a/_calcul_dispo.html +++ b/_calcul_dispo.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{* Calcul des entrées/sorties de matériels à une date donnée paramètres : diff --git a/_get_config.html b/_get_config.html index 83771df..469fabf 100644 --- a/_get_config.html +++ b/_get_config.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{* Récupérer soit la config enregistrée, soit la config par défaut résultat : config.input_nature et config.output_nature diff --git a/_nav.html b/_nav.html index 4aab958..1628ea4 100644 --- a/_nav.html +++ b/_nav.html @@ -1,9 +1,8 @@ diff --git a/categories/delete_category.html b/categories/delete_category.html index b0ab888..feab947 100644 --- a/categories/delete_category.html +++ b/categories/delete_category.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{:admin_header title="Supprimer une catégorie" current="module_equipment"}} {{#load key=$_GET.key assign="category"}} diff --git a/categories/index.html b/categories/index.html index 30591ff..97c41bc 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{:admin_header title="Gestion des matériels" current="module_equipment"}} {{* barre de navigation *}} diff --git a/categories/list_equipment.html b/categories/list_equipment.html index 90a67f3..89fcd24 100644 --- a/categories/list_equipment.html +++ b/categories/list_equipment.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{#load key=$_GET.key}} {{:assign cat_name=$name}} {{/load}} diff --git a/categories/modify_category.html b/categories/modify_category.html index 9522111..3c78235 100644 --- a/categories/modify_category.html +++ b/categories/modify_category.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{:admin_header title="Modifier une catégorie" current="module_equipment"}} {{#load key=$_GET.key assign="category"}} diff --git a/historique.html b/historique.html index 0f4f783..d4f3f30 100644 --- a/historique.html +++ b/historique.html @@ -1,5 +1,6 @@ {{* -*- brindille -*- *}} + {{:assign equipment_key=$_GET.key|trim}} {{#load key=$_GET.key assign="equipment"}} {{else}} @@ -10,7 +11,28 @@ {{else}} {{:error message="Le matériel %s n'appartient à aucune catégorie"|args:$equipment.designation}} {{/load}} -{{:admin_header title="Historique des mouvements de %s (%s)"|args:$equipment.designation:$category.name current="module_equipment"}} +{{:admin_header title="Gestion des matériels" current="module_equipment"}} + +{{if $_GET.ok}} + {{if $_GET.msg == "modification"}} +
Modification enregistrée
+ {{elseif $_GET.msg == "suppression"}} +Mouvement supprimé
+ {{else}} +{{$_GET.msg}}
+ {{/if}} +{{elseif $_GET.err}} + {{if $_GET.msg == "suppression"}} +Ce mouvement ne peut être supprimé
+ {{else}} +{{$_GET.msg}}
+ {{/if}} +{{/if}} + +{{* barre de navigation *}} +{{if ! $dialog}} + {{:include file="./_nav.html" current="mouvements"}} +{{/if}} {{* récupérer la config des entrées/sorties *}} {{:include file="./_get_config.html" keep="config"}} @@ -29,6 +51,7 @@ {{/if}} {{/if}} {{/foreach}} + {{#foreach from=$config.output_nature key=mvt item=type_mvt}} {{if $_GET.prop}} {{* matériel propriété de l'asso *}} @@ -44,6 +67,8 @@ {{/foreach}} {{* lister tous les mouvements du matériel passé en paramètre *}} +Modification effectuée
+ {{if $_GET.msg == "ajout" }} +Ajout effectué
+ {{else}} +{{$_GET.msg}}
+ {{/if}} {{elseif $_GET.err}}Modification refusée
{{/if}} diff --git a/inventaire.html b/inventaire.html index cfa28be..d4c4057 100644 --- a/inventaire.html +++ b/inventaire.html @@ -2,10 +2,15 @@ {{* inventaire des entrées/sorties des matériels des catégories de la variable category_keys *}} + + {{* Extraire et compiler les infos de la base *}} {{:include file="./_calcul_dispo.html" keep="cumul_mvt,category_keys,equipments"}} {{* Afficher les résultats *}} + {{if $equipments === null}}Aucun matériel.
{{else}} @@ -13,147 +18,150 @@Il n'y a aucune catégorie, il faut en créer au moins une
+{{/if}} +{{:admin_footer}} diff --git a/mouvements/dupliquer_mouvement.html b/mouvements/dupliquer_mouvement.html new file mode 100644 index 0000000..7bb73d8 --- /dev/null +++ b/mouvements/dupliquer_mouvement.html @@ -0,0 +1,159 @@ +{{* -*- brindille -*- *}} + + +{{if $_GET.direction == "input"}} + {{:assign msg_direction="entrée"}} +{{else}} + {{:assign msg_direction="sortie"}} +{{/if}} +{{:admin_header title="Dupliquer une %s"|args:$msg_direction current="module_equipment"}} + +{{:assign direction=$_GET.direction}} +{{:assign mvt_key=$_GET.key}} + +{{* récupérer les infos du mouvement à dupliquer *}} +{{#load key=$mvt_key assign="mvt_copie"}} +{{else}} + {{:error message="Aucune %s avec la clé %s"|args:$msg_direction:$mvt_key}} +{{/load}} +{{if $direction == "input"}} + {{:assign input_init=$mvt_copie.input_nature}} + {{:assign url="entrees/index.html"}} +{{else}} + {{:assign output_init=$mvt_copie.output_nature}} + {{:assign url="sorties/index.html"}} +{{/if}} +{{:assign amount_init=$mvt_copie.amount}} +{{:assign date_init=$mvt_copie.date|date_short}} +{{:assign key_eqpmt_init=$mvt_copie.equipment}} + +{{* récupérer la config des entrées/sorties *}} +{{:include file="../_get_config.html" keep="config"}} + +{{if $direction == "input"}} + {{* types d'entrées *}} + {{#foreach from=$config.input_nature key="label" item="type"}} + {{:assign var="input_labels.%s"|args:$label value="%s"|args:$label}} + {{if $label == $mvt_copie.input_nature}} + {{:assign type_defaut=$label}} + {{/if}} + {{/foreach}} +{{else}} + {{* types de sorties *}} + {{#foreach from=$config.output_nature key="label" item="type"}} + {{:assign var="output_labels.%s"|args:$label value="%s"|args:$label}} + {{if $label == $mvt_copie.output_nature}} + {{:assign type_defaut=$label}} + {{/if}} + {{/foreach}} +{{/if}} + +{{* récupérer les infos du matériel associé *}} +{{#load key=$key_eqpmt_init assign="eqpmt_init"}} +{{else}} + {{:error message="Aucun matériel avec la clé « %s »"|args:$key_eqpmt_init}} +{{/load}} + +{{* + -------------------- Traiter la saisie -------------------- +*}} +{{#form on="save"}} + {{* récupérer les infos de la catégorie *}} + {{#load type="category" key=$_POST.category assign="category"}} + {{/load}} + + {{* vérifier l'existence d'un matériel du même nom *}} + {{#load type="equipment" where="lower($$.designation) = :name" :name=$_POST.designation|trim|tolower}} + {{* utiliser la clé du matériel trouvé *}} + {{:assign equipment_key=$key}} + {{else}} + {{* nouveau matériel => nouvelle clé *}} + {{:assign equipment_key=""|uuid}} + + {{* enregistrer un nouveau matériel *}} + {{*:debug key=$equipment_key category=$category.key designation=$_POST.designation|trim*}} + {{:save + key=$equipment_key + validate_schema="../equipment.schema.json" + type="equipment" + category=$category.key + designation=$_POST.designation|trim + }} + {{/load}} + + {{* préparer le mouvement copié *}} + {{if $direction == "input"}} + {{:assign var="mvt_copie.input_nature" from="input_labels.%s"|args:$_POST.type_operation}} + {{else}} + {{:assign var="mvt_copie.output_nature" from="output_labels.%s"|args:$_POST.type_operation}} + {{/if}} + {{:assign var="mvt_copie.amount" value=$_POST.amount}} + {{:assign var="mvt_copie.date" value=$_POST.date|parse_date}} + {{:assign var="mvt_copie.comment" value=$_POST.comment}} + + {{* Enregistrer le mouvement *}} + {{:assign mvt_key=""|uuid}} + {{:save + key=$mvt_key + validate_schema="movement.schema.json" + type="movement" + direction=$direction + input_nature=$mvt_copie.input_nature + output_nature=$mvt_copie.output_nature + amount=$mvt_copie.amount|intval + equipment=$equipment_key + date=$mvt_copie.date + comment=$mvt_copie.comment + }} + {{:redirect force="../historique.html?ok=1&key=%s&prop=%s&msg=%s"|args:$key_eqpmt_init:$_GET.prop:$msg_direction}} +{{/form}} + +{{:form_errors}} + +{{* + -------------------- Préparer la saisie -------------------- +*}} + +{{* lister les catégories et matériels associés *}} +{{#load type="category" assign="category" order="$$.name"}} + {{:assign nom_cat=$category.name}} + {{:assign var="categories.%s"|args:$category.key value=$category.name}} + {{#load type="equipment" where="$$.category = :key" :key=$category.key assign="equipment"}} + {{:assign var="equipments.%s.%s"|args:$nom_cat:$equipment.key value=$equipment.designation}} + {{/load}} +{{/load}} + +{{* formulaire de copie du mouvement *}} + + +{{:admin_footer}} diff --git a/mouvements/entrees/_temporaire.html b/mouvements/entrees/_temporaire.html index 236b2b0..f8d9e80 100644 --- a/mouvements/entrees/_temporaire.html +++ b/mouvements/entrees/_temporaire.html @@ -1,12 +1,14 @@ - {{* déterminer la quantité des matériels sortis temporairement *}} - {{#foreach from=$cumul_mvt key="cat_key" item="cat_elem"}} - {{#foreach from=$cat_elem.eqpmt key="eqpmt_key" item="eqpmt"}} - {{:assign quantite=$eqpmt.exterieur}} - {{if $quantite != 0}} - {{:assign - var="temporaire.%s.%s"|args:$cat_elem.name:$eqpmt_key - value="%s (quantité : %d)"|args:$eqpmt.designation:$quantite - }} - {{/if}} - {{/foreach}} +{{* -*- brindille -*- *}} + +{{* déterminer la quantité des matériels sortis temporairement *}} +{{#foreach from=$cumul_mvt key="cat_key" item="cat_elem"}} + {{#foreach from=$cat_elem.eqpmt key="eqpmt_key" item="eqpmt"}} + {{:assign quantite=$eqpmt.exterieur}} + {{if $quantite != 0}} + {{:assign + var="temporaire.%s.%s"|args:$cat_elem.name:$eqpmt_key + value="%s (quantité : %d)"|args:$eqpmt.designation:$quantite + }} + {{/if}} {{/foreach}} +{{/foreach}} diff --git a/mouvements/entrees/non_repertorie.html b/mouvements/entrees/non_repertorie.html index 6ca311f..26bc3a1 100644 --- a/mouvements/entrees/non_repertorie.html +++ b/mouvements/entrees/non_repertorie.html @@ -1,3 +1,5 @@ +{{* -*- brindille -*- *}} + {{:admin_header title="Entrée de matériel" current="module_equipment"}} {{* barre de navigation *}} diff --git a/mouvements/entrees/retour.html b/mouvements/entrees/retour.html index d0f92e4..8c9e688 100644 --- a/mouvements/entrees/retour.html +++ b/mouvements/entrees/retour.html @@ -1,3 +1,11 @@ +{{* -*- brindille -*- *}} + +{{* + paramètres : + - key : clé du mouvement à modifier + - prop : = 1 si matériel propriété +*}} + {{:admin_header title="Entrée de matériel" current="module_equipment"}} {{* barre de navigation *}} @@ -53,7 +61,8 @@ comment=$_POST.remarques|trim }} - {{:redirect force="index.html?ok=1&msg=entrée"}} + {{*:redirect force="index.html?ok=1&msg=entrée"*}} + {{:redirect force="../../historique.html?ok=1&key=%s&prop=%s&msg=retour"|args:$_POST.equipment:$_GET.prop}} {{else}} {{:form_errors}} {{/form}} diff --git a/mouvements/modifier_mouvement.html b/mouvements/modifier_mouvement.html index 6bdacc1..652d086 100644 --- a/mouvements/modifier_mouvement.html +++ b/mouvements/modifier_mouvement.html @@ -1,5 +1,12 @@ {{* -*- brindille -*- *}} +{{* + paramètres : + - direction : du mouvement à modifier + - key : clé du mouvement à modifier + - prop : = 1 si matériel propriété +*}} + {{if $_GET.direction == "input"}} {{:assign msg_direction="entrée"}} {{else}} @@ -7,7 +14,7 @@ {{/if}} {{:admin_header title="Modifier une %s"|args:$msg_direction current="module_equipment"}} -{{:assign direction=$_GET.direction}} +{{:assign direction_mvt=$_GET.direction}} {{:assign key_mvt=$_GET.key}} {{* récupérer les infos du mouvement à modifier *}} @@ -16,7 +23,7 @@ {{:error message="Aucune %s avec la clé %s"|args:$msg_direction:$key_mvt}} {{/load}} -{{if $direction == "input"}} +{{if $direction_mvt == "input"}} {{:assign input_init=$mvt_modif.input_nature}} {{:assign url="entrees/index.html"}} {{else}} @@ -37,7 +44,7 @@ {{* récupérer la config des entrées/sorties *}} {{:include file="../_get_config.html" keep="config"}} -{{if $direction == "input"}} +{{if $direction_mvt == "input"}} {{* types d'entrées *}} {{#foreach from=$config.input_nature key="label" item="type"}} {{:assign var="input_labels.%s"|args:$label value="%s"|args:$label}} @@ -60,7 +67,7 @@ *}} {{#form on="change"}} {{* préparer le mouvement modifié *}} - {{if $direction == "input"}} + {{if $direction_mvt == "input"}} {{:assign var="mvt_modif.input_nature" from="input_labels.%s"|args:$_POST.type_operation}} {{else}} {{:assign var="mvt_modif.output_nature" from="output_labels.%s"|args:$_POST.type_operation}} @@ -86,7 +93,10 @@ assign="movement" }} {{if $key != $key_mvt}} - {{if $date > $mvt_modif.date && ! $insere}} + {{if $direction_mvt == "input" && ! $insere && $date >= $mvt_modif.date}} + {{:assign var="movements_modif." from=mvt_modif}} + {{:assign insere=true}} + {{elseif $direction_mvt == "output" && ! $insere && $date > $mvt_modif.date}} {{:assign var="movements_modif." from=mvt_modif}} {{:assign insere=true}} {{/if}} @@ -119,7 +129,7 @@ {{if $erreur}}Modification demandée impossible : - {{if $direction == "input"}} + {{if $direction_mvt == "input"}} « {{$input_init}} de {{$eqpmt_init.designation}} (qté : {{$amount_init}}) en date du {{$date_init}} » vers « {{$mvt_modif.input_nature}} de {{$eqpmt.designation}} (qté : {{$mvt_modif.amount}}) à la date du {{$mvt_modif.date|date_short}} » {{else}} @@ -133,7 +143,7 @@ key=$key_mvt validate_schema="./movement.schema.json" type="movement" - direction=$direction + direction=$direction_mvt input_nature=$mvt_modif.input_nature output_nature=$mvt_modif.output_nature amount=$mvt_modif.amount|intval @@ -141,7 +151,11 @@ date=$mvt_modif.date comment=$mvt_modif.comment }} - {{:redirect force="%s?ok=1&msg=modification"|args:$url}} + {{if $key_eqpmt_init == $_POST.equipment}} + {{:redirect force="../historique.html?ok=1&key=%s&prop=%smsg=modification"|args:$_POST.equipment:$_GET.prop}} + {{else}} + {{:redirect force="../index.html?ok=1&msg=modification"}} + {{/if}} {{/if}} {{/form}} @@ -162,7 +176,7 @@