diff --git a/_calcul_dispo.html b/_calcul_dispo.html
index 6fa7189..7a0fbcb 100644
--- a/_calcul_dispo.html
+++ b/_calcul_dispo.html
@@ -3,35 +3,38 @@
{{*
Calcul des entrées/sorties de matériels à une date donnée
paramètres :
- - category_keys : liste de clés de catégories
- - date : date supérieure des mouvements
- résultat : cumul_mvt,category_keys,equipments
+ - key : clé du matériel concerné
+ - cat_key : clé de la catégorie des matériels concernés
+ - date
+ résultat :
+ - categories : tableau clé => nom
+ - equipments : tableau clé => { clé cat, libellé mat, stock, exter, nonproprio }
*}}
-{{* liste des catégories *}}
-{{if $category_keys === null}}
- {{#load type="category"}}
- {{:assign var="cumul_mvt.%s.name"|args:$key value=$name}}
+{{* liste des matériels *}}
+{{:assign equipments=null}}
+{{if $_GET.key}}
+ {{* le matériel paramètre *}}
+ {{#load key=$_GET.key}}
+ {{:assign var="equipments.%s.category"|args:$key value=$category}}
+ {{:assign var="equipments.%s.designation"|args:$key value=$designation}}
+ {{:assign var="in_equipments." value="'%s'"|args:$key}}
+ {{/load}}
+{{elseif $_GET.cat_key}}
+ {{* matériels de la catégorie paramètre *}}
+ {{#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.designation"|args:$key value=$designation}}
+ {{:assign var="in_equipments." value="'%s'"|args:$key}}
{{/load}}
{{else}}
- {{#load type="category" where="key"|sql_where:'IN':$category_keys}}
- {{:assign var="cumul_mvt.%s.name"|args:$key value=$name}}
+ {{* tous les matériels *}}
+ {{#load type="equipment"}}
+ {{:assign var="equipments.%s.category"|args:$key value=$category}}
+ {{:assign var="equipments.%s.designation"|args:$key value=$designation}}
+ {{:assign var="in_equipments." value="'%s'"|args:$key}}
{{/load}}
{{/if}}
-
-{{#foreach from=$cumul_mvt key="cat_key" item="elem"}}
- {{:assign var="in_categories." value="'%s'"|args:$cat_key}}
-{{/foreach}}
-
-{{:assign in_categories=$in_categories|implode:","}}
-{{:assign in_categories="("|cat:$in_categories|cat:")"}}
-
-{{* liste des matériels dans les catégories passées en paramètre *}}
-{{#load type="equipment" where="$$.category IN %s"|args:$in_categories}}
- {{:assign var="equipments.%s.category"|args:$key value=$category}}
- {{:assign var="equipments.%s.designation"|args:$key value=$designation}}
- {{:assign var="in_equipments." value="'%s'"|args:$key}}
-{{/load}}
{{:assign in_equipments=$in_equipments|implode:","}}
{{:assign in_equipments="("|cat:$in_equipments|cat:")"}}
@@ -109,12 +112,9 @@
from=nonproprio}}
{{/if}}
{{/if}}
-
{{/load}}
-{{* grouper les résultats par catégorie *}}
-{{#foreach from=$equipments key="eqpmt_key" item="eqpmt"}}
- {{:assign
- var="cumul_mvt.%s.eqpmt.%s"|args:$eqpmt.category:$eqpmt_key
- value=$eqpmt}}
-{{/foreach}}
+{{* catégories *}}
+{{#load type="category" order="$$.name"}}
+ {{:assign var="categories.%s"|args:$key value=$name}}
+{{/load}}
diff --git a/index.html b/index.html
index c2b5b9a..7b096c1 100644
--- a/index.html
+++ b/index.html
@@ -22,11 +22,9 @@
Modification refusée
{{/if}}
-{{#load type="category"}}
- {{:assign var="category_keys." value=$key}}
-{{/load}}
+{{#load type="category" count=true assign="result"}}{{/load}}
-{{if $category_keys|count == 0}}
+{{if $result.count == 0}}
Il n'y a aucune catégorie : vous devez en ajouter.
{{else}}
{{if $_GET.prop == null || $_GET.prop}}
diff --git a/inventaire.html b/inventaire.html
index a9ad39b..2dff7d3 100644
--- a/inventaire.html
+++ b/inventaire.html
@@ -2,12 +2,28 @@
{{*
inventaire des entrées/sorties des matériels permanents
- paramètres
- - category_keys : catégories dont on veut faire l'inventaire
*}}
{{* Extraire et compiler les infos de la base *}}
-{{:include file="./_calcul_dispo.html" keep="cumul_mvt,equipments"}}
+{{:include file="./_calcul_dispo.html" keep="categories,equipments"}}
+
+{{* Sélecteur catégories *}}
+
{{* Vérifier s'il y a au moins un matériel propriété de l'asso *}}
{{:assign mat_present=false}}
@@ -20,50 +36,29 @@
{{if $mat_present}}
- {{* Sélecteur catégories *}}
-
-
Matériels propriété de l'association
{{#list
select="
- (SELECT $$.designation
- FROM @TABLE AS b
- WHERE b.key = @TABLE.$$.equipment) AS 'Matériel' ;
- "" as 'Catégorie' ;
+ $$.designation AS 'Matériel' ;
+ "" AS 'Catégorie' ;
"" AS 'Stock' ;
"" AS 'Sorti' ;
"" AS 'Dispo'
"
- type="movement"
- group="$$.equipment"
- direction="input"
+ type="equipment"
order=1
}}
+ {{:assign var=eqpmt_key value=$key}}
+ {{:assign var=cat_key value=$category}}
+ {{:assign var=cat_name from=categories.%s|args:$cat_key}}
- {{:assign var=cat_key from="equipments.%s.category"|args:$equipment}}
{{if $_GET.cat_key != null && $_GET.cat_key != $cat_key}}
{{:continue}}
{{/if}}
- {{:assign var=cat_name from="cumul_mvt.%s.name"|args:$cat_key}}
- {{:assign var=stock from="equipments.%s.stock"|args:$equipment}}
- {{:assign var=exterieur from="equipments.%s.exterieur"|args:$equipment}}
+ {{: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}}
{{if $stock == null}}
@@ -71,7 +66,7 @@
{{/if}}
- {{$col1}} |
+ {{$designation}} |
{{$cat_name}} |
{{$stock}} |
{{if $exterieur == null}}0{{else}}{{$exterieur}}{{/if}} |
@@ -80,7 +75,7 @@
{{if $exterieur > 0}}
{{:linkbutton
label="Retour"
- href="mouvements/entrees/retour.html?key=%s"|args:$equipment
+ href="mouvements/entrees/retour.html?key=%s"|args:$eqpmt_key
shape="history"
target="_dialog"}}
{{/if}}
@@ -88,21 +83,21 @@
{{:linkbutton
label="Sortie"
shape="plus"
- href="mouvements/sorties/stock_disponible.html?key=%s"|args:$equipment
+ href="mouvements/sorties/stock_disponible.html?key=%s"|args:$eqpmt_key
target="_dialog"}}
{{/if}}
{{:linkbutton
label="Entrée"
shape="plus"
- href="mouvements/entrees/repertorie.html?key=%s"|args:$equipment
+ href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
target="_dialog"}}
{{:linkbutton
label="Mouvements"
- href="historique.html?key=%s&prop=1"|args:$equipment
+ href="historique.html?key=%s&prop=1"|args:$eqpmt_key
shape="table"}}
{{:linkbutton
label="Modifier"
- href="modifier_materiel.html?key=%s&prop=1"|args:$equipment
+ href="modifier_materiel.html?key=%s&prop=1"|args:$eqpmt_key
shape="edit"
target="_dialog"}}
diff --git a/inventaire_nonprop.html b/inventaire_nonprop.html
index 5244b43..5e82697 100644
--- a/inventaire_nonprop.html
+++ b/inventaire_nonprop.html
@@ -2,12 +2,28 @@
{{*
inventaire des entrées/sorties des matériels temporaires
- paramètres
- - category_keys : catégories dont on veut faire l'inventaire
*}}
{{* Extraire et compiler les infos de la base *}}
-{{:include file="./_calcul_dispo.html" keep="cumul_mvt,equipments"}}
+{{:include file="./_calcul_dispo.html" keep="categories,equipments"}}
+
+{{* Sélecteur catégories *}}
+
{{* Vérifier s'il y a au moins un matériel non propriété de l'asso *}}
{{:assign mat_present=false}}
@@ -20,75 +36,55 @@
{{if $mat_present}}
- {{* Sélecteur catégories *}}
-
-
Matériels temporairement dans l'association
{{#list
select="
- (SELECT $$.designation
- FROM @TABLE AS b
- WHERE b.key = @TABLE.$$.equipment) AS 'Matériel' ;
- "" as 'Catégorie' ;
+ $$.designation AS 'Matériel' ;
+ "" AS 'Catégorie' ;
"" AS 'Quantité'
"
- type="movement"
- group="$$.equipment"
- direction="input"
+ type="equipment"
order=1
}}
+ {{:assign var=eqpmt_key value=$key}}
+ {{:assign var=cat_key value=$category}}
+ {{:assign var=cat_name from=categories.%s|args:$cat_key}}
- {{:assign var=cat_key from="equipments.%s.category"|args:$equipment}}
{{if $_GET.cat_key != null && $_GET.cat_key != $cat_key}}
{{:continue}}
{{/if}}
- {{:assign var=cat_name from="cumul_mvt.%s.name"|args:$cat_key}}
- {{:assign var=qte from="equipments.%s.nonproprio"|args:$equipment}}
+ {{:assign var=qte from="equipments.%s.nonproprio"|args:$eqpmt_key}}
{{if $qte == null}}
{{:continue}}
{{/if}}
+
- {{$col1}} |
+ {{$designation}} |
{{$cat_name}} |
{{$qte}} |
{{if $qte > 0}}
{{:linkbutton
label="Retour"
- href="mouvements/sorties/emprunte.html?key=%s"|args:$equipment
+ href="mouvements/sorties/emprunte.html?key=%s"|args:$eqpmt_key
shape="history"
target="_dialog"}}
{{/if}}
{{:linkbutton
label="Entrée"
shape="plus"
- href="mouvements/entrees/repertorie.html?key=%s"|args:$equipment
+ href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
target="_dialog"}}
{{:linkbutton
label="Mouvements"
- href="historique.html?key=%s&prop=0"|args:$equipment
+ href="historique.html?key=%s&prop=0"|args:$eqpmt_key
shape="table"}}
{{:linkbutton
label="Modifier"
- href="modifier_materiel.html?key=%s&prop=0"|args:$equipment
+ href="modifier_materiel.html?key=%s&prop=0"|args:$eqpmt_key
shape="edit"
target="_dialog"}}
|
diff --git a/mouvements/entrees/retour.html b/mouvements/entrees/retour.html
index d7b25fa..6c71075 100644
--- a/mouvements/entrees/retour.html
+++ b/mouvements/entrees/retour.html
@@ -5,7 +5,7 @@
- key : clé du matériel qui revient
*}}
-{{:admin_header title="Entrée de matériel" current="module_equipment"}}
+{{:admin_header title="Retour de matériel" current="module_equipment"}}
{{* barre de navigation *}}
{{if ! $dialog}}
@@ -27,19 +27,18 @@
{{* récupérer les infos du matériel *}}
{{#load type="equipment" key=$_GET.key assign="equipment"}}
{{:assign designation=$equipment.designation}}
- {{:assign var="categories." value=$equipment.category}}
{{/load}}
{{* Extraire et compiler les infos de la base *}}
{{:include
file="../../_calcul_dispo.html"
- keep="cumul_mvt"
+ keep="equipments"
date=$_POST.date|parse_date
}}
{{* déterminer la quantité sortie temporairement de ce matériel à la date donnée *}}
- {{:assign var=sorti from="cumul_mvt.%s.eqpmt.%s.exterieur"|args:$equipment.category:$_GET.key}}
-{{*:debug cumul_mvt=$cumul_mvt sorti=$sorti*}}
+ {{:assign var=sorti from="equipments.%s.exterieur"|args:$_GET.key}}
+
{{if $_POST.quantite|intval > $sorti}}
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle sortie (%d) à la date du %s"|args:$_POST.quantite:$sorti:$_POST.date}}
{{/if}}
@@ -61,13 +60,12 @@
}}
{{:redirect force="../../historique.html?ok=1&key=%s&prop=1&msg=retour"|args:$_GET.key}}
-
{{else}}
{{:form_errors}}
{{/form}}
{{* Extraire et compiler les infos de la base *}}
-{{:include file="../../_calcul_dispo.html" keep="cumul_mvt,equipments"}}
+{{:include file="../../_calcul_dispo.html" keep="categories, equipments"}}
{{:assign var=sorti from="equipments.%s.exterieur"|args:$_GET.key}}
{{if $sorti > 0}}
@@ -75,8 +73,7 @@
{{* déterminer le matériel concerné par le mouvement *}}
{{#load key=$_GET.key assign="equipment"}}
{{/load}}
- {{#load key=$equipment.category assign="category"}}
- {{/load}}
+ {{:assign var=cat_name from=categories.%s|args:$equipment.category}}
{{* formulaire d'entrée de matériel *}}