Compare commits
9 Commits
0af9cee03c
...
17052676df
Author | SHA1 | Date | |
---|---|---|---|
17052676df | |||
7fd67d7d9d | |||
81040dc040 | |||
cb91f0a624 | |||
4a46099275 | |||
3e0f3159ae | |||
dbbff606f6 | |||
9ac71344fb | |||
92b79b75dc |
@ -17,21 +17,23 @@
|
|||||||
{{* le matériel paramètre *}}
|
{{* le matériel paramètre *}}
|
||||||
{{#load key=$_GET.key}}
|
{{#load key=$_GET.key}}
|
||||||
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
||||||
{{:assign var="equipments.%s.designation"|args:$key value=$designation}}
|
{{:assign var="equipments.%s.name"|args:$key value=$name}}
|
||||||
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{elseif $_GET.cat_key}}
|
{{elseif $_GET.cat_key}}
|
||||||
{{* matériels de la catégorie paramètre *}}
|
{{* matériels de la catégorie paramètre *}}
|
||||||
{{#load type="equipment" where="$$.category = :category_key" :category_key=$_GET.cat_key}}
|
{{#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.category"|args:$key value=$category}}
|
||||||
{{:assign var="equipments.%s.designation"|args:$key value=$designation}}
|
{{: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}}
|
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* tous les matériels *}}
|
{{* tous les matériels *}}
|
||||||
{{#load type="equipment"}}
|
{{#load type="equipment"}}
|
||||||
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
{{:assign var="equipments.%s.category"|args:$key value=$category}}
|
||||||
{{:assign var="equipments.%s.designation"|args:$key value=$designation}}
|
{{: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}}
|
{{:assign var="in_equipments." value="'%s'"|args:$key}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
14
_nav.html
14
_nav.html
@ -3,7 +3,7 @@
|
|||||||
<nav class="tabs">
|
<nav class="tabs">
|
||||||
{{if $current == 'inventaire'}}
|
{{if $current == 'inventaire'}}
|
||||||
<aside>
|
<aside>
|
||||||
{{if $subcurrent == null && $cat == 0}}
|
{{if $subsubcurrent == null && $cat == 0}}
|
||||||
{{:linkbutton label="Ajouter une catégorie" shape="plus" href="categories/add_category.html" target="_dialog"}}
|
{{:linkbutton label="Ajouter une catégorie" shape="plus" href="categories/add_category.html" target="_dialog"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:linkbutton label="Ajouter un nouveau matériel" shape="plus" href="mouvements/ajouter_entree.html" target="_dialog"}}
|
{{:linkbutton label="Ajouter un nouveau matériel" shape="plus" href="mouvements/ajouter_entree.html" target="_dialog"}}
|
||||||
@ -13,6 +13,8 @@
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li {{if $current == 'inventaire'}} class="current"{{/if}}><a href="{{$module.url}}index.html?prop=1">Inventaire</a></li>
|
<li {{if $current == 'inventaire'}} class="current"{{/if}}><a href="{{$module.url}}index.html?prop=1">Inventaire</a></li>
|
||||||
|
<li {{if $current == 'historique'}} class="current"{{/if}}><a href="{{$module.url}}global_history.html">Historique</a></li>
|
||||||
|
<li {{if $current == 'archives'}} class="current"{{/if}}><a href="{{$module.url}}archives.html">Archives</a></li>
|
||||||
<li {{if $current == 'config'}} class="current"{{/if}}><a href="{{$module.url}}categories/index.html">Configuration</a></li>
|
<li {{if $current == 'config'}} class="current"{{/if}}><a href="{{$module.url}}categories/index.html">Configuration</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -22,9 +24,15 @@
|
|||||||
<li {{if $subcurrent == 'nonproprio'}} class="current"{{/if}}><a href="{{$module.url}}index.html?prop=0">Matériels temporaires</a></li>
|
<li {{if $subcurrent == 'nonproprio'}} class="current"{{/if}}><a href="{{$module.url}}index.html?prop=0">Matériels temporaires</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
{{if $subsubcurrent == 'mouvements'}}
|
{{if $subsubcurrent == 'historique'}}
|
||||||
<ul class="sub">
|
<ul class="sub">
|
||||||
<li class="title"><strong>Mouvements de {{$eqpmt}} ({{$category}})</strong></li>
|
<li class="title"><strong>Historique — {{$eqpmt}} ({{$category}})</strong></li>
|
||||||
|
</ul>
|
||||||
|
{{/if}}
|
||||||
|
{{elseif $current == 'archives'}}
|
||||||
|
{{if $subsubcurrent == 'historique'}}
|
||||||
|
<ul class="sub">
|
||||||
|
<li class="title"><strong>Historique — {{$eqpmt}} ({{$category}})</strong></li>
|
||||||
</ul>
|
</ul>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{elseif $current == 'config'}}
|
{{elseif $current == 'config'}}
|
||||||
|
72
archives.html
Normal file
72
archives.html
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
|
{{:admin_header title="Matériels archivés" custom_css=$custom_css current="module_equipment"}}
|
||||||
|
{{:include file="_nav.html" current="archives"}}
|
||||||
|
|
||||||
|
{{if $_GET.ok}}
|
||||||
|
<p class="block confirm">Matériel remis en service</p>
|
||||||
|
{{/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"|args:$key
|
||||||
|
}}
|
||||||
|
{{/load}}
|
||||||
|
|
||||||
|
<fieldset class="shortFormRight">
|
||||||
|
<legend>Filtrer par catégorie</legend>
|
||||||
|
{{:dropdown
|
||||||
|
title="Filtrer par catégorie"
|
||||||
|
options=$options
|
||||||
|
value="%s"|args:$_GET.cat_key
|
||||||
|
}}
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<div class="shortFormLeft">
|
||||||
|
<p class="help">Inventaire des matériels archivés</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{* filtrer selon la catégorie *}}
|
||||||
|
{{if $_GET.cat_key == null}}
|
||||||
|
{{:assign condition="1"}}
|
||||||
|
{{else}}
|
||||||
|
{{:assign cat_key=$_GET.cat_key|quote_sql}}
|
||||||
|
{{:assign condition="$$.category == %s"|args:$cat_key}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{* Liste des matériels archivés *}}
|
||||||
|
{{#list
|
||||||
|
select="
|
||||||
|
$$.name AS "Matériel" ;
|
||||||
|
(SELECT $$.name
|
||||||
|
FROM @TABLE as cat
|
||||||
|
WHERE cat.key = @TABLE.$$.category) AS "Catégorie"
|
||||||
|
"
|
||||||
|
type="equipment"
|
||||||
|
where="$$.status='archived' AND %s"|args:$condition
|
||||||
|
order=1
|
||||||
|
}}
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>{{$name}}</td>
|
||||||
|
<td>{{$col2}}</td>
|
||||||
|
<td class="actions">
|
||||||
|
{{:linkbutton
|
||||||
|
label="Historique"
|
||||||
|
href="historique.html?key=%s&prop=1¤t=archives"|args:$key
|
||||||
|
shape="table"}}
|
||||||
|
{{:linkbutton
|
||||||
|
label="Modifier"
|
||||||
|
href="unarchive_equipment.html?key=%s"|args:$key
|
||||||
|
shape="edit"
|
||||||
|
target="_dialog"}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{else}}
|
||||||
|
<p class="block alert">Aucun matériel.</p>
|
||||||
|
{{/list}}
|
@ -1,6 +1,6 @@
|
|||||||
{{* -*- brindille -*- *}}
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
{{:admin_header title="Configuration" current="module_equipment"}}
|
||||||
|
|
||||||
{{* barre de navigation *}}
|
{{* barre de navigation *}}
|
||||||
{{:include file="../_nav.html" current="config" subcurrent="categories"}}
|
{{:include file="../_nav.html" current="config" subcurrent="categories"}}
|
||||||
|
@ -10,10 +10,15 @@
|
|||||||
"description": "Clé de la catégorie",
|
"description": "Clé de la catégorie",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"designation": {
|
"name": {
|
||||||
"description": "Désignation du matériel",
|
"description": "Désignation du matériel",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"description": "État du matériel",
|
||||||
|
"type": "string",
|
||||||
|
"enum": ["available", "archived"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": ["type", "category", "designation"]
|
"required": ["type", "category", "name", "status"]
|
||||||
}
|
}
|
||||||
|
41
global_history.html
Normal file
41
global_history.html
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
|
{{*
|
||||||
|
Afficher l'historique de tous les mouvements
|
||||||
|
*}}
|
||||||
|
|
||||||
|
|
||||||
|
{{:admin_header title="Historique des mouvements" current="module_equipment"}}
|
||||||
|
|
||||||
|
{{:include file="./_nav.html" current="historique"}}
|
||||||
|
|
||||||
|
{{* récupérer la config des entrées/sorties *}}
|
||||||
|
{{:include file="./_get_config.html" keep="config"}}
|
||||||
|
|
||||||
|
{{* lister tous les mouvements *}}
|
||||||
|
{{#list
|
||||||
|
type="movement"
|
||||||
|
select="$$.date AS 'Date';
|
||||||
|
CASE $$.direction WHEN 'input' THEN 'Entrée' WHEN 'output' THEN 'Sortie' END AS 'Mouvement';
|
||||||
|
$$.operation AS 'Opération';
|
||||||
|
(SELECT $$.name
|
||||||
|
FROM @TABLE AS b
|
||||||
|
WHERE b.key = @TABLE.$$.equipment) AS 'Matériel' ;
|
||||||
|
$$.amount AS 'Quantité';
|
||||||
|
$$.comment AS 'Commentaire'"
|
||||||
|
order=1
|
||||||
|
desc=true
|
||||||
|
}}
|
||||||
|
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$direction:$operation}}
|
||||||
|
<tr>
|
||||||
|
<td>{{$date|date_short}}</td>
|
||||||
|
<td>{{$col2}}</td>
|
||||||
|
<td>{{$op_label}}</td>
|
||||||
|
<td>{{$col4}}</td>
|
||||||
|
<td class="num">{{$amount}}</td>
|
||||||
|
<td>{{$comment}}</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
{{/list}}
|
||||||
|
|
||||||
|
{{:admin_footer}}
|
@ -26,11 +26,16 @@
|
|||||||
|
|
||||||
{{#load type="category" where="key = :cle" :cle=$equipment.category assign="category"}}
|
{{#load type="category" where="key = :cle" :cle=$equipment.category assign="category"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:error message="Le matériel %s n'appartient à aucune catégorie"|args:$equipment.designation}}
|
{{:error message="Le matériel %s n'appartient à aucune catégorie"|args:$equipment.name}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
||||||
|
|
||||||
{{:include file="./_nav.html" current="inventaire" subcurrent=$proprio subsubcurrent="mouvements" eqpmt=$equipment.designation category=$category.name}}
|
{{if $_GET.current != null}}
|
||||||
|
{{:assign current=$_GET.current}}
|
||||||
|
{{else}}
|
||||||
|
{{:assign current="inventaire"}}
|
||||||
|
{{/if}}
|
||||||
|
{{:include file="./_nav.html" current=$current subcurrent=$proprio subsubcurrent="historique" eqpmt=$equipment.name category=$category.name}}
|
||||||
|
|
||||||
{{if $_GET.ok}}
|
{{if $_GET.ok}}
|
||||||
{{if $_GET.msg == "modification"}}
|
{{if $_GET.msg == "modification"}}
|
||||||
@ -148,21 +153,23 @@
|
|||||||
<td class="num">{{$dispo}}</td>
|
<td class="num">{{$dispo}}</td>
|
||||||
<td>{{$comment}}</td>
|
<td>{{$comment}}</td>
|
||||||
<td class="actions">
|
<td class="actions">
|
||||||
{{:linkbutton
|
{{if $current != "archives"}}
|
||||||
label="Dupliquer"
|
{{:linkbutton
|
||||||
href="mouvements/dupliquer_mouvement.html?key=%s&prop=%s"|args:$key:$_GET.prop
|
label="Dupliquer"
|
||||||
shape="plus"
|
href="mouvements/dupliquer_mouvement.html?key=%s&prop=%s"|args:$key:$_GET.prop
|
||||||
target="_dialog"}}
|
shape="plus"
|
||||||
{{:linkbutton
|
target="_dialog"}}
|
||||||
label="Modifier"
|
{{:linkbutton
|
||||||
href="mouvements/modifier_mouvement.html?key=%s"|args:$key
|
label="Modifier"
|
||||||
shape="edit"
|
href="mouvements/modifier_mouvement.html?key=%s"|args:$key
|
||||||
target="_dialog"}}
|
shape="edit"
|
||||||
{{:linkbutton
|
target="_dialog"}}
|
||||||
label="Supprimer"
|
{{:linkbutton
|
||||||
href="mouvements/supprimer_mouvement.html?key=%s&prop=%s"|args:$key:$_GET.prop
|
label="Supprimer"
|
||||||
shape="delete"
|
href="mouvements/supprimer_mouvement.html?key=%s&prop=%s"|args:$key:$_GET.prop
|
||||||
target="_dialog"}}
|
shape="delete"
|
||||||
|
target="_dialog"}}
|
||||||
|
{{/if}}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -31,45 +31,53 @@
|
|||||||
<p class="help">Inventaire des matériels propriété de l'association</p>
|
<p class="help">Inventaire des matériels propriété de l'association</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{* 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}}
|
{{:assign mat_present=false}}
|
||||||
{{#foreach from=$equipments key=key item=eqpmt}}
|
{{#foreach from=$equipments key=key item=eqpmt}}
|
||||||
{{if $eqpmt|has_key:"stock"}}
|
{{if $eqpmt|has_key:"stock" && $eqpmt.status != "archived"}}
|
||||||
{{:assign mat_present=true}}
|
{{:assign mat_present=true}}
|
||||||
{{:break}}
|
{{:break}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
|
||||||
|
{{* filtrer selon la catégorie *}}
|
||||||
|
{{if $_GET.cat_key == null}}
|
||||||
|
{{:assign condition="1"}}
|
||||||
|
{{else}}
|
||||||
|
{{:assign cat_key=$_GET.cat_key|quote_sql}}
|
||||||
|
{{:assign condition="$$.category == %s"|args:$cat_key}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{if $mat_present}}
|
{{if $mat_present}}
|
||||||
{{#list
|
{{#list
|
||||||
select="
|
select="
|
||||||
$$.designation AS 'Matériel' ;
|
$$.name AS 'Matériel' ;
|
||||||
"" AS 'Catégorie' ;
|
(SELECT $$.name
|
||||||
|
FROM @TABLE as cat
|
||||||
|
WHERE cat.key = @TABLE.$$.category) AS "Catégorie" ;
|
||||||
"" AS 'Stock' ;
|
"" AS 'Stock' ;
|
||||||
"" AS 'Sorti' ;
|
"" AS 'Sorti' ;
|
||||||
"" AS 'Dispo'
|
"" AS 'Dispo'
|
||||||
"
|
"
|
||||||
type="equipment"
|
type="equipment"
|
||||||
|
where="$$.status<>'archived' AND %s"|args:$condition
|
||||||
order=1
|
order=1
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{:assign var=eqpmt_key value=$key}}
|
{{:assign var=eqpmt_key value=$key}}
|
||||||
{{:assign var=cat_key value=$category}}
|
{{:assign var=cat_name from=categories.%s|args:$category}}
|
||||||
{{:assign var=cat_name from=categories.%s|args:$cat_key}}
|
|
||||||
|
|
||||||
{{if $_GET.cat_key != null && $_GET.cat_key != $cat_key}}
|
|
||||||
{{:continue}}
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{:assign var=stock from="equipments.%s.stock"|args:$eqpmt_key}}
|
{{:assign var=stock from="equipments.%s.stock"|args:$eqpmt_key}}
|
||||||
{{:assign var=exterieur from="equipments.%s.exterieur"|args:$eqpmt_key}}
|
{{:assign var=exterieur from="equipments.%s.exterieur"|args:$eqpmt_key}}
|
||||||
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
|
{{: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}}
|
{{:continue}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{$designation}}</td>
|
<td>{{$name}}</td>
|
||||||
<td>{{$cat_name}}</td>
|
<td>{{$cat_name}}</td>
|
||||||
<td class="num">{{$stock}}</td>
|
<td class="num">{{$stock}}</td>
|
||||||
<td class="num">{{if $exterieur == null}}0{{else}}{{$exterieur}}{{/if}}</td>
|
<td class="num">{{if $exterieur == null}}0{{else}}{{$exterieur}}{{/if}}</td>
|
||||||
@ -95,12 +103,12 @@
|
|||||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
||||||
target="_dialog"}}
|
target="_dialog"}}
|
||||||
{{:linkbutton
|
{{:linkbutton
|
||||||
label="Mouvements"
|
label="Historique"
|
||||||
href="historique.html?key=%s&prop=1"|args:$eqpmt_key
|
href="historique.html?key=%s&prop=1"|args:$eqpmt_key
|
||||||
shape="table"}}
|
shape="table"}}
|
||||||
{{:linkbutton
|
{{:linkbutton
|
||||||
label="Modifier"
|
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"
|
shape="edit"
|
||||||
target="_dialog"}}
|
target="_dialog"}}
|
||||||
</td>
|
</td>
|
||||||
|
@ -34,30 +34,35 @@
|
|||||||
{{* Vérifier s'il y a au moins un matériel non propriété de l'asso *}}
|
{{* Vérifier s'il y a au moins un matériel non propriété de l'asso *}}
|
||||||
{{:assign mat_present=false}}
|
{{:assign mat_present=false}}
|
||||||
{{#foreach from=$equipments key=key item=eqpmt}}
|
{{#foreach from=$equipments key=key item=eqpmt}}
|
||||||
{{if $eqpmt|has_key:"nonproprio"}}
|
{{if $eqpmt|has_key:"nonproprio" && $eqpmt.status != "archived"}}
|
||||||
{{:assign mat_present=true}}
|
{{:assign mat_present=true}}
|
||||||
{{:break}}
|
{{:break}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
|
||||||
|
{{* filtrer selon la catégorie *}}
|
||||||
|
{{if $_GET.cat_key == null}}
|
||||||
|
{{:assign condition="1"}}
|
||||||
|
{{else}}
|
||||||
|
{{:assign cat_key=$_GET.cat_key|quote_sql}}
|
||||||
|
{{:assign condition="$$.category == %s"|args:$cat_key}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{if $mat_present}}
|
{{if $mat_present}}
|
||||||
{{#list
|
{{#list
|
||||||
select="
|
select="
|
||||||
$$.designation AS 'Matériel' ;
|
$$.name AS 'Matériel' ;
|
||||||
"" AS 'Catégorie' ;
|
(SELECT $$.name
|
||||||
|
FROM @TABLE as cat
|
||||||
|
WHERE cat.key = @TABLE.$$.category) AS "Catégorie" ;
|
||||||
"" AS 'Quantité'
|
"" AS 'Quantité'
|
||||||
"
|
"
|
||||||
type="equipment"
|
type="equipment"
|
||||||
|
where="%s"|args:$condition
|
||||||
order=1
|
order=1
|
||||||
}}
|
}}
|
||||||
{{:assign var=eqpmt_key value=$key}}
|
{{:assign var=eqpmt_key value=$key}}
|
||||||
{{:assign var=cat_key value=$category}}
|
{{:assign var=cat_name from=categories.%s|args:$category}}
|
||||||
{{:assign var=cat_name from=categories.%s|args:$cat_key}}
|
|
||||||
|
|
||||||
{{if $_GET.cat_key != null && $_GET.cat_key != $cat_key}}
|
|
||||||
{{:continue}}
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{:assign var=qte from="equipments.%s.nonproprio"|args:$eqpmt_key}}
|
{{:assign var=qte from="equipments.%s.nonproprio"|args:$eqpmt_key}}
|
||||||
|
|
||||||
{{if $qte == null}}
|
{{if $qte == null}}
|
||||||
@ -65,7 +70,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{$designation}}</td>
|
<td>{{$name}}</td>
|
||||||
<td>{{$cat_name}}</td>
|
<td>{{$cat_name}}</td>
|
||||||
<td class="num">{{$qte}}</td>
|
<td class="num">{{$qte}}</td>
|
||||||
<td class="actions">
|
<td class="actions">
|
||||||
@ -82,7 +87,7 @@
|
|||||||
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
href="mouvements/entrees/repertorie.html?key=%s"|args:$eqpmt_key
|
||||||
target="_dialog"}}
|
target="_dialog"}}
|
||||||
{{:linkbutton
|
{{:linkbutton
|
||||||
label="Mouvements"
|
label="Historique"
|
||||||
href="historique.html?key=%s&prop=0"|args:$eqpmt_key
|
href="historique.html?key=%s&prop=0"|args:$eqpmt_key
|
||||||
shape="table"}}
|
shape="table"}}
|
||||||
{{:linkbutton
|
{{:linkbutton
|
||||||
|
@ -8,51 +8,64 @@
|
|||||||
|
|
||||||
{{:assign equipment_key=$_GET.key|trim}}
|
{{:assign equipment_key=$_GET.key|trim}}
|
||||||
{{#load key=$_GET.key assign="equipment"}}
|
{{#load key=$_GET.key assign="equipment"}}
|
||||||
{{:assign default_category=$equipment.category}}
|
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:error message="Pas de matériel avec la clé %s"|args:$equipment_key}}
|
{{:error message="Pas de matériel avec la clé %s"|args:$equipment_key}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
{{:assign default_category=$equipment.category}}
|
||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
|
||||||
{{* récupérer les infos de la catégorie *}}
|
{{if $_POST.archive == 1}}
|
||||||
{{#load type="category" key=$_POST.category assign="category"}}
|
{{* vérifier si le stock est nul *}}
|
||||||
{{/load}}
|
{{if $_GET.stock != 0}}
|
||||||
|
{{:error message="L'archivage n'est possible que si le stock est nul !"}}
|
||||||
{{* vérifier la validité des changements demandés *}}
|
{{/if}}
|
||||||
{{:assign chgt_ok=true}}
|
{{* archiver le matériel *}}
|
||||||
{{if $_POST.category != $default_category}}
|
{{:save
|
||||||
|
key=$equipment_key
|
||||||
{{* catégorie change : vérifier le nom *}}
|
status="archived"
|
||||||
{{#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="$$.designation = :name" :name=$_POST.designation|trim|tolower|ucfirst limit=1}}
|
|
||||||
{{:assign chgt_ok=false}}
|
|
||||||
{{/load}}
|
|
||||||
{{else}}
|
|
||||||
{* le nom ne change pas : ok *}}
|
|
||||||
{{/if}}
|
|
||||||
{{/load}}
|
|
||||||
|
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* catégorie ne change pas => vérifier le nom *}}
|
|
||||||
{{#load type="equipment" where="$$.designation = :name" :name=$_POST.designation|trim|tolower|ucfirst limit=1}}
|
{{* récupérer les infos de la catégorie *}}
|
||||||
{{:assign chgt_ok=false}}
|
{{#load type="category" key=$_POST.category assign="category"}}{{/load}}
|
||||||
{{/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}}
|
||||||
|
|
||||||
{{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|tolower|ucfirst
|
|
||||||
}}
|
|
||||||
{{:redirect force="index.html?ok=1&msg=modification&prop=%s"|args:$_GET.prop}}
|
{{:redirect force="index.html?ok=1&msg=modification&prop=%s"|args:$_GET.prop}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
@ -68,8 +81,9 @@
|
|||||||
<fieldset class="modification">
|
<fieldset class="modification">
|
||||||
<legend>Modifier un matériel</legend>
|
<legend>Modifier un matériel</legend>
|
||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="category" label="Catégorie" default=$default_category required=true options=$categories}}
|
{{: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}}
|
{{:input type="text" name="name" label="Désignation" default=$equipment.name required=true}}
|
||||||
|
{{:input type="checkbox" value=1 name="archive" label="Archiver" help="cocher pour archiver le matériel ; possible uniquement si la quantité en stock est nulle"}}
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
@ -29,16 +29,20 @@
|
|||||||
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}}
|
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{:assign post_mat=$_POST.designation|trim|tolower|ucfirst}}
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* vérifier l'existence d'un matériel de même nom *}}
|
{{* vérifier l'existence d'un matériel de même nom *}}
|
||||||
{{#load type="equipment" where="$$.designation = :name COLLATE U_NOCASE" :name=$_POST.designation|trim limit=1}}}}
|
{{#load type="equipment" where="$$.name = :name COLLATE U_NOCASE" :name=$_POST.name|trim limit=1}}}}
|
||||||
{{:assign equipment_key=$key}}
|
{{:assign equipment_key=$key}}
|
||||||
{{:assign var=nom_cat from="categories.%s"|args:$category}}
|
{{:assign var=nom_cat from="categories.%s"|args:$category}}
|
||||||
{{:assign present=true}}
|
{{:assign present=true}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{:assign var=post_cat from="categories.%s"|args:$_POST.category}}
|
{{:assign var=post_cat from="categories.%s"|args:$_POST.category}}
|
||||||
|
|
||||||
|
{{:assign post_mat=$_POST.name|trim|tolower|ucfirst}}
|
||||||
{{if $present}}
|
{{if $present}}
|
||||||
{{* voir si le matériel existe dans une autre catégorie *}}
|
{{* voir si le matériel existe dans une autre catégorie *}}
|
||||||
{{if $nom_cat != $post_cat}}
|
{{if $nom_cat != $post_cat}}
|
||||||
@ -55,7 +59,8 @@
|
|||||||
validate_schema="../equipment.schema.json"
|
validate_schema="../equipment.schema.json"
|
||||||
type="equipment"
|
type="equipment"
|
||||||
category=$_POST.category
|
category=$_POST.category
|
||||||
designation=$post_mat
|
name=$post_mat
|
||||||
|
status="available"
|
||||||
}}
|
}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
@ -82,6 +87,7 @@
|
|||||||
{{:assign prop=1}}
|
{{:assign prop=1}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:redirect force="../index.html?prop=%s&ok=1&msg=%s"|args:$prop:$msg}}
|
{{:redirect force="../index.html?prop=%s&ok=1&msg=%s"|args:$prop:$msg}}
|
||||||
|
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Entrée de matériel" current="module_equipment"}}
|
{{:admin_header title="Entrée de matériel" current="module_equipment"}}
|
||||||
@ -104,7 +110,7 @@
|
|||||||
<legend>Sélectionner une catégorie et indiquer le nom du nouveau matériel</legend>
|
<legend>Sélectionner une catégorie et indiquer le nom du nouveau matériel</legend>
|
||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="category" label="Catégorie" options=$categories required=true}}
|
{{:input type="select" name="category" label="Catégorie" options=$categories required=true}}
|
||||||
{{:input type="text" name="designation" label="Désignation" required=true}}
|
{{:input type="text" name="name" label="Désignation" required=true}}
|
||||||
{{:input type="textarea" name="remarques" label="Remarques" cols="40", rows="3" required=false}}
|
{{:input type="textarea" name="remarques" label="Remarques" cols="40", rows="3" required=false}}
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
@ -56,6 +56,11 @@
|
|||||||
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
|
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* préparer le mouvement copié *}}
|
{{* préparer le mouvement copié *}}
|
||||||
{{if $mvt_new.direction == "input"}}
|
{{if $mvt_new.direction == "input"}}
|
||||||
{{:assign var="mvt_new.input_nature" value=$_POST.operation}}
|
{{:assign var="mvt_new.input_nature" value=$_POST.operation}}
|
||||||
@ -123,7 +128,7 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
« {{$mvt_new.output_nature}}
|
« {{$mvt_new.output_nature}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
de {{$eqpmt.designation}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
de {{$eqpmt.name}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
||||||
</p>
|
</p>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
||||||
@ -143,7 +148,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Dupliquer une %s"|args:$msg_direction current="module_equipment"}}
|
{{:admin_header title="Dupliquer un mouvement" current="module_equipment"}}
|
||||||
{{:form_errors}}
|
{{:form_errors}}
|
||||||
|
|
||||||
{{*
|
{{*
|
||||||
@ -157,7 +162,7 @@
|
|||||||
{{* formulaire de copie du mouvement *}}
|
{{* formulaire de copie du mouvement *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Créer une copie de « {{$op_label}} {{$eqpmt.designation}} (Catégorie : {{$category.name}}) »</legend>
|
<legend>Créer une copie de « {{$op_label}} {{$eqpmt.name}} (Catégorie : {{$category.name}}) »</legend>
|
||||||
{{if $mvt_new.direction == "input"}}
|
{{if $mvt_new.direction == "input"}}
|
||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="operation" label="Type" required=true options=$input_labels|sort default=$mvt_new.operation}}
|
{{:input type="select" name="operation" label="Type" required=true options=$input_labels|sort default=$mvt_new.operation}}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
{{if $quantite != 0}}
|
{{if $quantite != 0}}
|
||||||
{{:assign
|
{{:assign
|
||||||
var="temporaire.%s.%s"|args:$cat_elem.name:$eqpmt_key
|
var="temporaire.%s.%s"|args:$cat_elem.name:$eqpmt_key
|
||||||
value="%s (quantité : %d)"|args:$eqpmt.designation:$quantite
|
value="%s (quantité : %d)"|args:$eqpmt.name:$quantite
|
||||||
}}
|
}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
@ -35,6 +35,11 @@
|
|||||||
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}}
|
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* Enregistrer le mouvement *}}
|
{{* Enregistrer le mouvement *}}
|
||||||
{{:assign mvt_key=""|uuid}}
|
{{:assign mvt_key=""|uuid}}
|
||||||
{{:save
|
{{:save
|
||||||
@ -62,15 +67,15 @@
|
|||||||
|
|
||||||
{{* formulaire de saisie d'une entrée de matériel *}}
|
{{* formulaire de saisie d'une entrée de matériel *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="informations">
|
<fieldset class="informations">
|
||||||
<legend>Informations matériel</legend>
|
<legend>Informations matériel</legend>
|
||||||
<dl class="describe">
|
<dl class="describe">
|
||||||
<dt>Matériel</dt>
|
<dt>Matériel</dt>
|
||||||
<dd>{{$equipment.designation}}</dd>
|
<dd>{{$equipment.name}}</dd>
|
||||||
<dt>Catégorie</dt>
|
<dt>Catégorie</dt>
|
||||||
<dd>{{$category.name}}</dd>
|
<dd>{{$category.name}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</fieldset>
|
||||||
<fieldset class="entree">
|
<fieldset class="entree">
|
||||||
<legend>Ajouter une entrée de matériel</legend>
|
<legend>Ajouter une entrée de matériel</legend>
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -22,9 +22,14 @@
|
|||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* récupérer les infos du matériel *}}
|
{{* récupérer les infos du matériel *}}
|
||||||
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
||||||
{{:assign designation=$equipment.designation}}
|
{{:assign name=$equipment.name}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
{{* Extraire et compiler les infos de la base *}}
|
{{* Extraire et compiler les infos de la base *}}
|
||||||
@ -74,18 +79,17 @@
|
|||||||
|
|
||||||
{{* formulaire d'entrée de matériel *}}
|
{{* formulaire d'entrée de matériel *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="informations">
|
<fieldset class="informations">
|
||||||
<legend>Informations matériel</legend>
|
<legend>Informations matériel</legend>
|
||||||
<dl class="describe">
|
<dl class="describe">
|
||||||
<dt>Matériel</dt>
|
<dt>Matériel</dt>
|
||||||
<dd>{{$equipment.designation}}</dd>
|
<dd>{{$equipment.name}}</dd>
|
||||||
<dt>Catégorie</dt>
|
<dt>Catégorie</dt>
|
||||||
<dd>{{$cat_name}}</dd>
|
<dd>{{$cat_name}}</dd>
|
||||||
<dt>Quantité sortie</dt>
|
<dt>Quantité sortie</dt>
|
||||||
<dd>{{$sorti}}</dd>
|
<dd>{{$sorti}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<p><span class="alert">La quantité sortie est celle à la date du jour</span></p>
|
</fieldset>
|
||||||
</div>
|
|
||||||
<fieldset class="entree">
|
<fieldset class="entree">
|
||||||
<legend>Ajouter un retour de matériel</legend>
|
<legend>Ajouter un retour de matériel</legend>
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -48,6 +48,11 @@
|
|||||||
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
|
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* préparer le mouvement modifié *}}
|
{{* préparer le mouvement modifié *}}
|
||||||
{{if $mvt_new.direction == "input"}}
|
{{if $mvt_new.direction == "input"}}
|
||||||
{{:assign var="mvt_new.input_nature" value=$_POST.operation}}
|
{{:assign var="mvt_new.input_nature" value=$_POST.operation}}
|
||||||
@ -114,9 +119,9 @@
|
|||||||
{{:assign var="new_op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
|
{{:assign var="new_op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
|
||||||
<p class="block error">
|
<p class="block error">
|
||||||
Modification demandée impossible :
|
Modification demandée impossible :
|
||||||
« {{$op_label}} de {{$eqpmt.designation}} (qté : {{$amount_init}}) en date du {{$date_init}} » vers
|
« {{$op_label}} de {{$eqpmt.name}} (qté : {{$amount_init}}) en date du {{$date_init}} » vers
|
||||||
« {{$new_op_label}}
|
« {{$new_op_label}}
|
||||||
de {{$eqpmt.designation}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
de {{$eqpmt.name}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
||||||
</p>
|
</p>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
||||||
@ -135,7 +140,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Modifier une %s"|args:$msg_direction current="module_equipment"}}
|
{{:admin_header title="Modifier un mouvement" current="module_equipment"}}
|
||||||
{{:form_errors}}
|
{{:form_errors}}
|
||||||
|
|
||||||
{{*
|
{{*
|
||||||
@ -148,7 +153,7 @@
|
|||||||
{{* formulaire de modification du mouvement *}}
|
{{* formulaire de modification du mouvement *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Modifier « {{$op_label}} {{$eqpmt.designation}} (Catégorie : {{$category.name}}) »</legend>
|
<legend>Modifier « {{$op_label}} {{$eqpmt.name}} (Catégorie : {{$category.name}}) »</legend>
|
||||||
{{if $mvt_new.direction == "input"}}
|
{{if $mvt_new.direction == "input"}}
|
||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="operation" label="Type" required=true options=$input_labels|sort default=$mvt_new.operation}}
|
{{:input type="select" name="operation" label="Type" required=true options=$input_labels|sort default=$mvt_new.operation}}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
{{if $quantite != 0}}
|
{{if $quantite != 0}}
|
||||||
{{:assign
|
{{:assign
|
||||||
var="temporaire.%s.%s"|args:$cat_elem.name:$eqpmt_key
|
var="temporaire.%s.%s"|args:$cat_elem.name:$eqpmt_key
|
||||||
value="%s (quantité : %d)"|args:$eqpmt.designation:$quantite
|
value="%s (quantité : %d)"|args:$eqpmt.name:$quantite
|
||||||
}}
|
}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
|
@ -22,6 +22,11 @@
|
|||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* récupérer les infos du matériel *}}
|
{{* récupérer les infos du matériel *}}
|
||||||
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
@ -113,18 +118,17 @@
|
|||||||
|
|
||||||
{{* formulaire de sortie de matériel *}}
|
{{* formulaire de sortie de matériel *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="informations">
|
<fieldset class="informations">
|
||||||
<legend>Informations matériel</legend>
|
<legend>Informations matériel</legend>
|
||||||
<dl class="describe">
|
<dl class="describe">
|
||||||
<dt>Matériel</dt>
|
<dt>Matériel</dt>
|
||||||
<dd>{{$equipment.designation}}</dd>
|
<dd>{{$equipment.name}}</dd>
|
||||||
<dt>Catégorie</dt>
|
<dt>Catégorie</dt>
|
||||||
<dd>{{$cat_name}}</dd>
|
<dd>{{$cat_name}}</dd>
|
||||||
<dt>Quantité présente</dt>
|
<dt>Quantité présente</dt>
|
||||||
<dd>{{$present}}</dd>
|
<dd>{{$present}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<p><span class="alert">La quantité présente est celle à la date du jour</span></p>
|
</fieldset>
|
||||||
</div>
|
|
||||||
<fieldset class="sortie">
|
<fieldset class="sortie">
|
||||||
<legend>Ajouter une sortie d'un matériel présent temporairement</legend>
|
<legend>Ajouter une sortie d'un matériel présent temporairement</legend>
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -22,6 +22,11 @@
|
|||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
{{* interdire date dans le futur *}}
|
||||||
|
{{if $_POST.date|parse_date|strtotime > $now}}
|
||||||
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{* récupérer les infos du matériel *}}
|
{{* récupérer les infos du matériel *}}
|
||||||
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
{{#load type="equipment" key=$_GET.key assign="equipment"}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
@ -130,18 +135,17 @@
|
|||||||
|
|
||||||
{{* formulaire de sortie de matériel *}}
|
{{* formulaire de sortie de matériel *}}
|
||||||
<form method="post" action="">
|
<form method="post" action="">
|
||||||
<div class="informations">
|
<fieldset class="informations">
|
||||||
<legend>Informations matériel</legend>
|
<legend>Informations matériel</legend>
|
||||||
<dl class="describe">
|
<dl class="describe">
|
||||||
<dt>Matériel</dt>
|
<dt>Matériel</dt>
|
||||||
<dd>{{$equipment.designation}}</dd>
|
<dd>{{$equipment.name}}</dd>
|
||||||
<dt>Catégorie</dt>
|
<dt>Catégorie</dt>
|
||||||
<dd>{{$cat_name}}</dd>
|
<dd>{{$cat_name}}</dd>
|
||||||
<dt>Quantité disponible</dt>
|
<dt>Quantité disponible</dt>
|
||||||
<dd class="num">{{$dispo}}</dd>
|
<dd class="num">{{$dispo}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<p><span class="alert">La quantité indiquée est celle à la date du jour</span></p>
|
</fieldset>
|
||||||
</div>
|
|
||||||
<fieldset class="sortie">
|
<fieldset class="sortie">
|
||||||
<legend>Ajouter une sortie</legend>
|
<legend>Ajouter une sortie</legend>
|
||||||
<dl>
|
<dl>
|
||||||
|
@ -106,27 +106,26 @@
|
|||||||
{{* vérification réussie : supprimer le mouvement *}}
|
{{* vérification réussie : supprimer le mouvement *}}
|
||||||
{{:delete key=$_GET.key}}
|
{{:delete key=$_GET.key}}
|
||||||
{{:assign libelle=$libelle|ucfirst}}
|
{{:assign libelle=$libelle|ucfirst}}
|
||||||
{{:assign var="msg" value="%s « %s (%d) en date du %s » supprimée"|args:$libelle:$equipment.designation:$mvt_suppr.amount:$date_suppr}}
|
{{:assign var="msg" value="%s « %s (%d) en date du %s » supprimée"|args:$libelle:$equipment.name:$mvt_suppr.amount:$date_suppr}}
|
||||||
|
|
||||||
{{* voir s'il reste des mouvements pour le matériel concerné par le mouvement supprimé *}}
|
{{* voir s'il reste des mouvements pour le matériel concerné par le mouvement supprimé *}}
|
||||||
{{#load type="movement" where="$$.equipment = :eqpmt_key" :eqpmt_key=$equipment.key}}
|
{{#load type="movement" where="$$.equipment = :eqpmt_key" :eqpmt_key=$equipment.key}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* supprimer le matériel *}}
|
{{* supprimer le matériel *}}
|
||||||
{{:delete key=$equipment.key}}
|
{{:delete key=$equipment.key}}
|
||||||
{{:assign var="msg" value="%s - Matériel « %s » supprimé"|args:$msg:$equipment.designation}}
|
{{:assign var="msg" value="%s - Matériel « %s » supprimé"|args:$msg:$equipment.name}}
|
||||||
{{:redirect force="../index.html?ok=1&msg=%s"|args:$msg}}
|
{{:redirect force="../index.html?ok=1&msg=%s"|args:$msg}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
{{:redirect force="../historique.html?ok=1&key=%s&prop=%s&msg=%s"|args:$mvt_suppr.equipment:$_GET.prop:$msg}}
|
{{:redirect force="../historique.html?ok=1&key=%s&prop=%s&msg=%s"|args:$mvt_suppr.equipment:$_GET.prop:$msg}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Supprimer une %s"|args:$libelle current="module_equipment"}}
|
{{:admin_header title="Supprimer un mouvement" current="module_equipment"}}
|
||||||
{{:form_errors}}
|
{{:form_errors}}
|
||||||
|
|
||||||
{{:delete_form
|
{{:delete_form
|
||||||
legend="Supprimer cette %s ?"|args:$libelle
|
legend="Supprimer ?"
|
||||||
warning="Supprimer « %s (%d) en date du %s » ?"|args:$equipment.designation:$mvt_suppr.amount:$date_suppr
|
warning="Supprimer « %s (%d) en date du %s » ?"|args:$equipment.name:$mvt_suppr.amount:$date_suppr
|
||||||
info="S'il ne reste aucun mouvement pour ce matériel, le matériel sera supprimé"
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
12
style.css
12
style.css
@ -1,16 +1,14 @@
|
|||||||
.informations {
|
.informations {
|
||||||
margin-top : 0.5em;
|
margin-top : 0.5em;
|
||||||
margin-bottom : 0.2em;
|
|
||||||
padding : 0.5em;
|
|
||||||
text-align : left;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
.informations legend {
|
.informations legend {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border-bottom : solid 1px;
|
border-bottom : solid 1px;
|
||||||
margin-bottom : 0.5em;
|
margin-bottom : 0.5em;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
.informations dt::after {
|
.informations dt::after {
|
||||||
content: ' :';
|
content: ' :';
|
||||||
}
|
}
|
||||||
@ -21,4 +19,10 @@
|
|||||||
|
|
||||||
.informations dl.describe > dt {
|
.informations dl.describe > dt {
|
||||||
flex: 0 0 10rem;
|
flex: 0 0 10rem;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.informations dl.describe > dd {
|
||||||
|
margin-top : 0;
|
||||||
|
margin-left : 0;
|
||||||
}
|
}
|
||||||
|
50
unarchive_equipment.html
Normal file
50
unarchive_equipment.html
Normal file
@ -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}}
|
||||||
|
|
||||||
|
<form method="post" action="">
|
||||||
|
<fieldset class="informations">
|
||||||
|
<legend>Désarchiver un matériel</legend>
|
||||||
|
<dl class="describe">
|
||||||
|
<dt>Matériel</dt>
|
||||||
|
<dd>{{$equipment.name}}</dd>
|
||||||
|
<dt>Catégorie</dt>
|
||||||
|
<dd>{{$cat_name}}</dd>
|
||||||
|
</dl>
|
||||||
|
<dl>
|
||||||
|
{{:input type="checkbox" value=1 name="unarchive" label="Désarchiver" help="cocher pour remettre le matériel en service"}}
|
||||||
|
</dl>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<p class="submit">
|
||||||
|
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
|
||||||
|
</p>
|
||||||
|
</form>
|
Loading…
Reference in New Issue
Block a user