Compare commits
5 Commits
bea3a2f0e8
...
c251573049
Author | SHA1 | Date | |
---|---|---|---|
c251573049 | |||
c6177b4438 | |||
610af4e6a8 | |||
5c7e6e9b0f | |||
c10ff02403 |
@ -27,10 +27,6 @@
|
|||||||
}}
|
}}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<div class="shortFormLeft">
|
|
||||||
<p class="help">Inventaire des matériels archivés</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{* filtrer selon la catégorie *}}
|
{{* filtrer selon la catégorie *}}
|
||||||
{{if $_GET.cat_key == null}}
|
{{if $_GET.cat_key == null}}
|
||||||
{{:assign condition="1"}}
|
{{:assign condition="1"}}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
{{:assign key=""|uuid}}
|
{{:assign key=""|uuid}}
|
||||||
{{:assign cat_name=$_POST.name|trim|tolower|ucfirst}}
|
{{:assign cat_name=$_POST.name|trim}}
|
||||||
{{:save
|
{{:save
|
||||||
key=$key
|
key=$key
|
||||||
validate_schema="./category.schema.json"
|
validate_schema="./category.schema.json"
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
{{* Vérifier s'il existe déjà une catégorie avec le même nom *}}
|
{{* Vérifier s'il existe déjà une catégorie avec le même nom *}}
|
||||||
{{#load type="category" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}}
|
{{#load type="category" where="$$.name = :name COLLATE U_NOCASE" :name=$_POST.name|trim limit=1}}
|
||||||
{{:error message="Modification impossible car ce nom de catégorie (« %s ») existe déjà !"|args:$name|trim}}
|
{{:error message="Modification impossible car ce nom de catégorie (« %s ») existe déjà !"|args:$name|trim}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
key=$category.key
|
key=$category.key
|
||||||
validate_schema="./category.schema.json"
|
validate_schema="./category.schema.json"
|
||||||
type="category"
|
type="category"
|
||||||
name=$_POST.name|trim|tolower|ucfirst
|
name=$_POST.name|trim
|
||||||
}}
|
}}
|
||||||
{{:redirect force="./index.html?ok=1&msg=modification"}}
|
{{:redirect force="./index.html?ok=1&msg=modification"}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
{{:assign var="locked_%ss."|args:$direction value=$op_label}}
|
{{:assign var="locked_%ss."|args:$direction value=$op_label}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
<h2>{{$item|ucfirst}}s</h2>
|
<h2 class="ruler">{{$item|ucfirst}}s</h2>
|
||||||
<table class="list">
|
<table class="list">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -32,8 +32,8 @@
|
|||||||
|
|
||||||
{{* ajouter le nouveau type de mouvement *}}
|
{{* ajouter le nouveau type de mouvement *}}
|
||||||
{{if $_GET.dir == $direction}}
|
{{if $_GET.dir == $direction}}
|
||||||
{{:assign var="newlabel" from="_POST.%s_fields.label|args:$direction}}
|
{{:assign var="newlabel" from="_POST.%s_fields.label"|args:$direction}}
|
||||||
{{:assign newlabel=$newlabel|trim|tolower|ucfirst}}
|
{{:assign newlabel=$newlabel|trim}}
|
||||||
{{:assign var="%s_nature.key"|args:$direction value=""|uuid}}
|
{{:assign var="%s_nature.key"|args:$direction value=""|uuid}}
|
||||||
{{:assign var="%s_nature.label"|args:$direction value=$newlabel}}
|
{{:assign var="%s_nature.label"|args:$direction value=$newlabel}}
|
||||||
{{:assign var="%s_nature.type"|args:$direction from="_POST.%s_fields.type"|args:$direction}}
|
{{:assign var="%s_nature.type"|args:$direction from="_POST.%s_fields.type"|args:$direction}}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
{{:assign var="%s_nature.key"|args:$direction value=$key}}
|
{{:assign var="%s_nature.key"|args:$direction value=$key}}
|
||||||
{{if $_GET.dir == $direction}}
|
{{if $_GET.dir == $direction}}
|
||||||
{{if $key == $_GET.op_key}}
|
{{if $key == $_GET.op_key}}
|
||||||
{{:assign var="%s_nature.label"|args:$direction value=$_POST.name|trim|tolower|ucfirst}}
|
{{:assign var="%s_nature.label"|args:$direction value=$_POST.name|trim}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign var="%s_nature.label"|args:$direction value=$label}}
|
{{:assign var="%s_nature.label"|args:$direction value=$label}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -18,7 +18,22 @@
|
|||||||
"description": "État du matériel",
|
"description": "État du matériel",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["available", "archived"]
|
"enum": ["available", "archived"]
|
||||||
|
},
|
||||||
|
"stock": {
|
||||||
|
"description": "Quantité en stock",
|
||||||
|
"type" : "integer",
|
||||||
|
"minimum": 0
|
||||||
|
},
|
||||||
|
"out": {
|
||||||
|
"description": "Quantité sortie temporairement",
|
||||||
|
"type" : "integer",
|
||||||
|
"minimum": 0
|
||||||
|
},
|
||||||
|
"notowned": {
|
||||||
|
"description": "Quantité présente temporairement",
|
||||||
|
"type" : "integer",
|
||||||
|
"minimum": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": ["type", "category", "name", "status"]
|
"required": ["type", "category", "name", "status", "stock", "out", "notowned"]
|
||||||
}
|
}
|
||||||
|
@ -32,10 +32,6 @@
|
|||||||
}}
|
}}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<div class="shortFormLeft">
|
|
||||||
<p class="help">Historique des mouvements</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{* lister tous les mouvements *}}
|
{{* lister tous les mouvements *}}
|
||||||
{{#list
|
{{#list
|
||||||
type="movement"
|
type="movement"
|
||||||
|
@ -44,6 +44,8 @@
|
|||||||
<p class="block confirm">Mouvement copié</p>
|
<p class="block confirm">Mouvement copié</p>
|
||||||
{{elseif $_GET.msg == "suppression"}}
|
{{elseif $_GET.msg == "suppression"}}
|
||||||
<p class="block confirm">Mouvement supprimé</p>
|
<p class="block confirm">Mouvement supprimé</p>
|
||||||
|
{{else}}
|
||||||
|
<p class="block confirm">Mouvement enregistré</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{elseif $_GET.err}}
|
{{elseif $_GET.err}}
|
||||||
{{if $_GET.msg == "suppression"}}
|
{{if $_GET.msg == "suppression"}}
|
||||||
@ -115,6 +117,21 @@
|
|||||||
{{:assign var="quantites.%s.nonproprio"|args:$id value=$nonproprio}}
|
{{:assign var="quantites.%s.nonproprio"|args:$id value=$nonproprio}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
|
||||||
|
<nav class="tabs">
|
||||||
|
<aside>
|
||||||
|
{{if $_GET.prop}}
|
||||||
|
{{if $equipment.stock > 0}}
|
||||||
|
{{:linkbutton label="Sortie" shape="minus" href="mouvements/sorties/stock_disponible.html?key=%s"|args:$_GET.key target="_dialog"}}
|
||||||
|
{{/if}}
|
||||||
|
{{:linkbutton label="Entrée" shape="plus" href="mouvements/entrees/repertorie.html?key=%s"|args:$_GET.key target="_dialog"}}
|
||||||
|
{{else}}
|
||||||
|
{{if $equipment.notowned > 0}}
|
||||||
|
{{:linkbutton label="Retour" href="mouvements/sorties/emprunte.html?key=%s"|args:$_GET.key shape="history" target="_dialog"}}
|
||||||
|
{{/if}}
|
||||||
|
{{:linkbutton label="Entrée" shape="plus" href="mouvements/entrees/repertorie.html?key=%s"|args:$_GET.key target="_dialog"}}
|
||||||
|
{{/if}}
|
||||||
|
</aside>
|
||||||
|
</nav>
|
||||||
{{* lister tous les mouvements du matériel passé en paramètre *}}
|
{{* lister tous les mouvements du matériel passé en paramètre *}}
|
||||||
{{if $_GET.prop}}
|
{{if $_GET.prop}}
|
||||||
{{#list
|
{{#list
|
||||||
|
110
inventaire.html
110
inventaire.html
@ -29,24 +29,6 @@
|
|||||||
<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>
|
||||||
|
|
||||||
{{* types d'entrées et sorties *}}
|
|
||||||
{{:include file="./_get_config.html" keep="config, directions"}}
|
|
||||||
|
|
||||||
{{#foreach from=$directions key="direction"}}
|
|
||||||
{{:assign var="nature" from="config.%s_nature"|args:$direction}}
|
|
||||||
{{#foreach from=$nature key="key"}}
|
|
||||||
{{:assign var="types.%s.%s."|args:$direction:$type value=$key}}
|
|
||||||
{{/foreach}}
|
|
||||||
|
|
||||||
{{:assign var="iotypes" from="types.%s"|args:$direction}}
|
|
||||||
{{#foreach from=$iotypes key="key"}}
|
|
||||||
{{:assign var=elem from="iotypes.%s"|args:$key}}
|
|
||||||
{{:assign elem=$elem|quote_sql|implode:","}}
|
|
||||||
{{:assign elem="("|cat:$elem|cat:")"}}
|
|
||||||
{{:assign var="%s_types.%s"|args:$direction:$key value=$elem}}
|
|
||||||
{{/foreach}}
|
|
||||||
{{/foreach}}
|
|
||||||
|
|
||||||
{{* filtrer selon la catégorie *}}
|
{{* filtrer selon la catégorie *}}
|
||||||
{{if $_GET.cat_key == null}}
|
{{if $_GET.cat_key == null}}
|
||||||
{{:assign condition="1"}}
|
{{:assign condition="1"}}
|
||||||
@ -61,100 +43,20 @@
|
|||||||
(SELECT $$.name
|
(SELECT $$.name
|
||||||
FROM @TABLE as cat
|
FROM @TABLE as cat
|
||||||
WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ;
|
WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ;
|
||||||
(SELECT
|
$$.stock AS 'Stock' ;
|
||||||
SUM($$.amount)
|
$$.out AS 'Sorti' ;
|
||||||
FROM @TABLE AS mvt
|
(SELECT $$.stock - $$.out) AS 'Disponible'
|
||||||
WHERE
|
"
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) -
|
|
||||||
(SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) AS 'Stock' ;
|
|
||||||
(SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) -
|
|
||||||
(SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) AS 'Sorti' ;
|
|
||||||
|
|
||||||
(SELECT
|
|
||||||
SUM($$.amount)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) -
|
|
||||||
(SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) -
|
|
||||||
(SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) + (SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) AS 'Disponible'
|
|
||||||
"|args:$input_types.définitif:$output_types.définitif:$output_types.temporaire:$input_types.retour:$input_types.définitif:$output_types.définitif:$output_types.temporaire:$input_types.retour
|
|
||||||
type="equipment"
|
type="equipment"
|
||||||
where="$$.status <> 'archived' AND %s"|args:$condition
|
where="$$.status <> 'archived' AND %s"|args:$condition
|
||||||
group="col1 HAVING col3 NOT NULL"
|
|
||||||
order=1
|
order=1
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{:assign var=cat_name from=categories.%s|args:$category}}
|
{{:assign var=cat_name from=categories.%s|args:$category}}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{$name}}</td>
|
<td>{{$name}}</td>
|
||||||
<td>{{$cat_name}}</td>
|
<td>{{$cat_name}}</td>
|
||||||
<td class="num">{{$col3}}</td>
|
<td class="num">{{$stock}}</td>
|
||||||
<td class="num">{{$col4}}</td>
|
<td class="num">{{$out}}</td>
|
||||||
<td class="num">{{$col5}}</td>
|
<td class="num">{{$col5}}</td>
|
||||||
<td class="actions">
|
<td class="actions">
|
||||||
{{if $col4 > 0}}
|
{{if $col4 > 0}}
|
||||||
|
@ -29,24 +29,6 @@
|
|||||||
<p class="help">Inventaire des matériels empruntés ou loués</p>
|
<p class="help">Inventaire des matériels empruntés ou loués</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{* types d'entrées et sorties *}}
|
|
||||||
{{:include file="./_get_config.html" keep="config, directions"}}
|
|
||||||
|
|
||||||
{{#foreach from=$directions key="direction"}}
|
|
||||||
{{:assign var="nature" from="config.%s_nature"|args:$direction}}
|
|
||||||
{{#foreach from=$nature key="key"}}
|
|
||||||
{{:assign var="types.%s.%s."|args:$direction:$type value=$key}}
|
|
||||||
{{/foreach}}
|
|
||||||
|
|
||||||
{{:assign var="iotypes" from="types.%s"|args:$direction}}
|
|
||||||
{{#foreach from=$iotypes key="key"}}
|
|
||||||
{{:assign var=elem from="iotypes.%s"|args:$key}}
|
|
||||||
{{:assign elem=$elem|quote_sql|implode:","}}
|
|
||||||
{{:assign elem="("|cat:$elem|cat:")"}}
|
|
||||||
{{:assign var="%s_types.%s"|args:$direction:$key value=$elem}}
|
|
||||||
{{/foreach}}
|
|
||||||
{{/foreach}}
|
|
||||||
|
|
||||||
{{* filtrer selon la catégorie *}}
|
{{* filtrer selon la catégorie *}}
|
||||||
{{if $_GET.cat_key == null}}
|
{{if $_GET.cat_key == null}}
|
||||||
{{:assign condition="1"}}
|
{{:assign condition="1"}}
|
||||||
@ -61,35 +43,13 @@
|
|||||||
(SELECT $$.name
|
(SELECT $$.name
|
||||||
FROM @TABLE as cat
|
FROM @TABLE as cat
|
||||||
WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ;
|
WHERE cat.key = @TABLE.$$.category) AS 'Catégorie' ;
|
||||||
(SELECT
|
$$.notowned AS 'Quantité'
|
||||||
SUM($$.amount)
|
"
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) -
|
|
||||||
(SELECT
|
|
||||||
COALESCE(SUM($$.amount), 0)
|
|
||||||
FROM @TABLE AS mvt
|
|
||||||
WHERE
|
|
||||||
$$.type = 'movement'
|
|
||||||
AND
|
|
||||||
$$.operation IN %s
|
|
||||||
AND
|
|
||||||
$$.equipment = @TABLE.key
|
|
||||||
) AS 'Quantité'
|
|
||||||
"|args:$input_types.temporaire:$output_types.retour
|
|
||||||
type="equipment"
|
type="equipment"
|
||||||
where="$$.status <> 'archived' AND %s"|args:$condition
|
where="$$.status <> 'archived' AND $$.notowned != 0 AND %s"|args:$condition
|
||||||
group="col1 HAVING (col3 NOT NULL AND col3 > 0)"
|
|
||||||
order=1
|
order=1
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{:assign var=cat_name from=categories.%s|args:$category}}
|
{{:assign var=cat_name from=categories.%s|args:$category}}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{$name}}</td>
|
<td>{{$name}}</td>
|
||||||
<td>{{$cat_name}}</td>
|
<td>{{$cat_name}}</td>
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
{{#load key=$equipment_key}}
|
{{#load key=$equipment_key}}
|
||||||
{{if $name|trim|tolower != $_POST.name|trim|tolower}}
|
{{if $name|trim|tolower != $_POST.name|trim|tolower}}
|
||||||
{{* le nom change => vérifier l'existence d'un matériel du même nom *}}
|
{{* 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}}
|
{{#load type="equipment" where="$$.name = :name COLLATE U_NOCASE" :name=$_POST.name|trim limit=1}}
|
||||||
{{:assign chgt_ok=false}}
|
{{:assign chgt_ok=false}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -49,7 +49,7 @@
|
|||||||
|
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* catégorie ne change pas => vérifier le nom *}}
|
{{* catégorie ne change pas => vérifier le nom *}}
|
||||||
{{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}}
|
{{#load type="equipment" where="$$.name = :name COLLATE U_NOCASE" :name=$_POST.name|trim limit=1}}
|
||||||
{{:assign chgt_ok=false}}
|
{{:assign chgt_ok=false}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@ -62,7 +62,7 @@
|
|||||||
{{:save
|
{{:save
|
||||||
key=$equipment_key
|
key=$equipment_key
|
||||||
category=$category.key
|
category=$category.key
|
||||||
name=$_POST.name|trim|tolower|ucfirst
|
name=$_POST.name|trim
|
||||||
}}
|
}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
@ -24,9 +24,9 @@
|
|||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
|
||||||
{{* vérifier la quantité saisie (UTILE ? : fait par la navigateur) *}}
|
{{* vérifier la quantité saisie *}}
|
||||||
{{if $_POST.quantite <= 0}}
|
{{if $_POST.amount <= 0}}
|
||||||
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}}
|
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* interdire date dans le futur *}}
|
{{* interdire date dans le futur *}}
|
||||||
@ -35,25 +35,26 @@
|
|||||||
{{/if}}
|
{{/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="$$.name = :name COLLATE U_NOCASE" :name=$_POST.name|trim limit=1}}}}
|
{{#load type="equipment" where="$$.name = :name COLLATE U_NOCASE" :name=$_POST.name|trim limit=1 assign="equipment"}}
|
||||||
{{:assign equipment_key=$key}}
|
|
||||||
{{:assign var=nom_cat from="categories.%s"|args:$category}}
|
|
||||||
{{:assign present=true}}
|
{{:assign present=true}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
|
{{:assign var=nom_cat from="categories.%s"|args:$equipment.category}}
|
||||||
{{: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}}
|
||||||
|
{{:assign var="type_mvt" from="config.input_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
|
||||||
{{: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}}
|
||||||
{{:error message="Le matériel « %s » est déjà présent dans la catégorie « %s » ..."|args:$post_mat:$nom_cat}}
|
{{:error message="Le matériel « %s » est déjà présent dans la catégorie « %s » ..."|args:$post_mat:$nom_cat}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{* utiliser la clé du matériel trouvé *}}
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
{{else}}
|
{{:assign var="equipment.stock" value="%d+%d"|math:$equipment.stock:$_POST.amount|intval}}
|
||||||
{{* nouveau matériel => nouvelle clé *}}
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
{{:assign equipment_key=""|uuid}}
|
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$_POST.amount|intval}}
|
||||||
{{* enregistrer un nouveau matériel *}}
|
{{/if}}
|
||||||
|
{{:assign equipment_key=$equipment.key}}
|
||||||
{{:save
|
{{:save
|
||||||
key=$equipment_key
|
key=$equipment_key
|
||||||
validate_schema="../equipment.schema.json"
|
validate_schema="../equipment.schema.json"
|
||||||
@ -61,9 +62,32 @@
|
|||||||
category=$_POST.category
|
category=$_POST.category
|
||||||
name=$post_mat
|
name=$post_mat
|
||||||
status="available"
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
{{else}}
|
||||||
|
{{* enregistrer un nouveau matériel *}}
|
||||||
|
{{:assign equipment_key=""|uuid}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign stock=$_POST.amount|intval}}
|
||||||
|
{{:assign notowned=0}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign notowned=$_POST.amount|intval}}
|
||||||
|
{{:assign stock=0}}
|
||||||
|
{{/if}}
|
||||||
|
{{:save
|
||||||
|
key=$equipment_key
|
||||||
|
validate_schema="../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$_POST.category
|
||||||
|
name=$post_mat
|
||||||
|
status="available"
|
||||||
|
stock=$stock
|
||||||
|
out=0
|
||||||
|
notowned=$notowned
|
||||||
}}
|
}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* Enregistrer le mouvement *}}
|
{{* Enregistrer le mouvement *}}
|
||||||
{{:assign mvt_key=""|uuid}}
|
{{:assign mvt_key=""|uuid}}
|
||||||
{{:assign var="operation" from="input_labels.%d"|args:$_POST.type_operation}}
|
{{:assign var="operation" from="input_labels.%d"|args:$_POST.type_operation}}
|
||||||
@ -73,14 +97,13 @@
|
|||||||
type="movement"
|
type="movement"
|
||||||
direction="input"
|
direction="input"
|
||||||
operation=$_POST.operation
|
operation=$_POST.operation
|
||||||
amount=$_POST.quantite|intval
|
amount=$_POST.amount|intval
|
||||||
equipment=$equipment_key
|
equipment=$equipment_key
|
||||||
date=$_POST.date|parse_date
|
date=$_POST.date|parse_date
|
||||||
comment=$_POST.remarques|trim
|
comment=$_POST.remarques|trim
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{:assign var=entree from="config.input_nature.%s"|args:$_POST.operation}}
|
{{if $type_mvt == "temporaire"}}
|
||||||
{{if $entree.type == "temporaire"}}
|
|
||||||
{{:assign prop=0}}
|
{{:assign prop=0}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:assign prop=1}}
|
{{:assign prop=1}}
|
||||||
@ -100,7 +123,7 @@
|
|||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="operation" label="Type" required=true default_empty="— Aucun —" options=$input_labels|sort}}
|
{{:input type="select" name="operation" label="Type" required=true default_empty="— Aucun —" options=$input_labels|sort}}
|
||||||
{{:input type="date" name="date" label="Date" required=true default=$now|date_short}}
|
{{:input type="date" name="date" label="Date" required=true default=$now|date_short}}
|
||||||
{{:input type="number" name="quantite" label="Quantité" min=1 required=true default=1}}
|
{{:input type="number" name="amount" label="Quantité" min=1 required=true default=1}}
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
{{:assign eqpmt_key=$mvt_new.equipment}}
|
{{:assign eqpmt_key=$mvt_new.equipment}}
|
||||||
|
|
||||||
{{* récupérer les infos du matériel associé *}}
|
{{* récupérer les infos du matériel associé *}}
|
||||||
{{#load key=$eqpmt_key assign="eqpmt"}}
|
{{#load key=$eqpmt_key assign="equipment"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:error message="Aucun matériel avec la clé « %s »"|args:$eqpmt_key}}
|
{{:error message="Aucun matériel avec la clé « %s »"|args:$eqpmt_key}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
@ -97,12 +97,17 @@
|
|||||||
assign="movement"
|
assign="movement"
|
||||||
}}
|
}}
|
||||||
{{if ! $insere}}
|
{{if ! $insere}}
|
||||||
{{if
|
{{if $mvt_new.date < $date}}
|
||||||
$mvt_new.direction == "input" && $date >= $mvt_new.date ||
|
|
||||||
$mvt_new.direction == "output" && $date > $mvt_new.date
|
|
||||||
}}
|
|
||||||
{{:assign var="movements_new." from=mvt_new}}
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
{{:assign insere=true}}
|
{{:assign insere=true}}
|
||||||
|
{{elseif $mvt_new.date == $date}}
|
||||||
|
{{if $mvt_new.direction == "input" && $type_mvt != "retour"}}
|
||||||
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
|
{{:assign insere=true}}
|
||||||
|
{{elseif $mvt_new.direction == "output" && $type_mvt == "temporaire"}}
|
||||||
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
|
{{:assign insere=true}}
|
||||||
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:assign var="movements_new." from=movement}}
|
{{:assign var="movements_new." from=movement}}
|
||||||
@ -121,9 +126,43 @@
|
|||||||
{{:assign var="mvt_label" from="%s_labels.%s"|args:$mvt_new.direction:$mvt_new.operation}}
|
{{:assign var="mvt_label" from="%s_labels.%s"|args:$mvt_new.direction:$mvt_new.operation}}
|
||||||
<p class="block error">
|
<p class="block error">
|
||||||
Impossible d'enregistrer ce mouvement : « {{$mvt_label}}
|
Impossible d'enregistrer ce mouvement : « {{$mvt_label}}
|
||||||
de {{$eqpmt.name}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
de {{$equipment.name}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
||||||
</p>
|
</p>
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
||||||
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{if $mvt_new.direction == "input"}}
|
||||||
|
{{:assign var="type_mvt" from="config.input_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d+%d"|math:$equipment.stock:$_POST.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$_POST.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'retour'}}
|
||||||
|
{{:assign var="equipment.out" value="%d-%d"|math:$equipment.out:$_POST.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d-%d"|math:$equipment.stock:$_POST.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.out" value="%d+%d"|math:$equipment.out:$_POST.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'retour'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d-%d"|math:$equipment.notowned:$_POST.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
|
||||||
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
||||||
{{:assign mvt_key=""|uuid}}
|
{{:assign mvt_key=""|uuid}}
|
||||||
{{:save
|
{{:save
|
||||||
@ -149,13 +188,13 @@
|
|||||||
*}}
|
*}}
|
||||||
|
|
||||||
{{* récupérer les infos de la catégorie *}}
|
{{* récupérer les infos de la catégorie *}}
|
||||||
{{#load key=$eqpmt.category assign="category"}}{{/load}}
|
{{#load key=$equipment.category assign="category"}}{{/load}}
|
||||||
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
|
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
|
||||||
|
|
||||||
{{* 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.name}} (Catégorie : {{$category.name}}) »</legend>
|
<legend>Créer une copie de « {{$op_label}} {{$equipment.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}}
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
|
|
||||||
{{* vérifier la quantité saisie *}}
|
{{* vérifier la quantité saisie *}}
|
||||||
{{if $_POST.quantite <= 0}}
|
{{if $_POST.amount <= 0}}
|
||||||
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.quantite}}
|
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* interdire date dans le futur *}}
|
{{* interdire date dans le futur *}}
|
||||||
@ -40,6 +40,26 @@
|
|||||||
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{:assign var="type_mvt" from="config.input_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d+%d"|math:$equipment.stock:$_POST.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$_POST.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
|
||||||
{{* Enregistrer le mouvement *}}
|
{{* Enregistrer le mouvement *}}
|
||||||
{{:assign mvt_key=""|uuid}}
|
{{:assign mvt_key=""|uuid}}
|
||||||
{{:save
|
{{:save
|
||||||
@ -48,7 +68,7 @@
|
|||||||
type="movement"
|
type="movement"
|
||||||
direction="input"
|
direction="input"
|
||||||
operation=$_POST.operation
|
operation=$_POST.operation
|
||||||
amount=$_POST.quantite|intval
|
amount=$_POST.amount|intval
|
||||||
equipment=$equipment.key
|
equipment=$equipment.key
|
||||||
date=$_POST.date|parse_date
|
date=$_POST.date|parse_date
|
||||||
comment=$_POST.remarques|trim
|
comment=$_POST.remarques|trim
|
||||||
@ -59,7 +79,7 @@
|
|||||||
{{else}}
|
{{else}}
|
||||||
{{:assign prop=1}}
|
{{:assign prop=1}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:redirect force="../../index.html?ok=1&msg=entrée&prop=%s"|args:$prop}}
|
{{:redirect force="../../historique.html?key=%s&ok=1&msg=entrée&prop=%s"|args:$equipment.key:$prop}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Entrée de matériel" custom_css="./../../style.css" current="module_equipment"}}
|
{{:admin_header title="Entrée de matériel" custom_css="./../../style.css" current="module_equipment"}}
|
||||||
@ -81,7 +101,7 @@
|
|||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="operation" label="Type" required=true default_empty="— Aucun —" options=$input_labels|sort}}
|
{{:input type="select" name="operation" label="Type" required=true default_empty="— Aucun —" options=$input_labels|sort}}
|
||||||
{{:input type="date" name="date" label="Date" required=true default=$now|date_short}}
|
{{:input type="date" name="date" label="Date" required=true default=$now|date_short}}
|
||||||
{{:input type="number" name="quantite" label="Quantité" required=true min=1 default=1}}
|
{{:input type="number" name="amount" label="Quantité" required=true min=1 default=1}}
|
||||||
{{: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>
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
{{:assign var="mvt_new.date" value=$_POST.date|parse_date}}
|
{{:assign var="mvt_new.date" value=$_POST.date|parse_date}}
|
||||||
{{:assign var="mvt_new.operation" value=$_POST.operation}}
|
{{:assign var="mvt_new.operation" value=$_POST.operation}}
|
||||||
{{:assign var="mvt_new.amount" value=$_POST.amount}}
|
{{:assign var="mvt_new.amount" value=$_POST.amount}}
|
||||||
|
{{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}}
|
||||||
|
|
||||||
{{*
|
{{*
|
||||||
lister les mouvements
|
lister les mouvements
|
||||||
@ -51,12 +52,17 @@
|
|||||||
assign="movement"
|
assign="movement"
|
||||||
}}
|
}}
|
||||||
{{if ! $insere}}
|
{{if ! $insere}}
|
||||||
{{if
|
{{if $mvt_new.date < $date}}
|
||||||
$mvt_new.direction == "input" && $date >= $mvt_new.date ||
|
|
||||||
$mvt_new.direction == "output" && $date > $mvt_new.date
|
|
||||||
}}
|
|
||||||
{{:assign var="movements_new." from=mvt_new}}
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
{{:assign insere=true}}
|
{{:assign insere=true}}
|
||||||
|
{{elseif $mvt_new.date == $date}}
|
||||||
|
{{if $mvt_new.direction == "input" && $type_mvt != "retour"}}
|
||||||
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
|
{{:assign insere=true}}
|
||||||
|
{{elseif $mvt_new.direction == "output" && $type_mvt == "temporaire"}}
|
||||||
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
|
{{:assign insere=true}}
|
||||||
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:assign var="movements_new." from=movement}}
|
{{:assign var="movements_new." from=movement}}
|
||||||
@ -82,7 +88,23 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
</p>
|
</p>
|
||||||
{{else}}
|
{{else}}
|
||||||
{{* vérification réussie : enregistrer le mouvement modifié *}}
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{:assign var="type_mvt" from="config.input_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
{{:assign var="equipment.out" value="%d-%d"|math:$equipment.out:$_POST.amount|intval}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
|
||||||
|
{{* enregistrer le mouvement modifié *}}
|
||||||
{{:save
|
{{:save
|
||||||
key=""|uuid
|
key=""|uuid
|
||||||
validate_schema="../movement.schema.json"
|
validate_schema="../movement.schema.json"
|
||||||
|
@ -18,11 +18,12 @@
|
|||||||
{{* infos pour affichage *}}
|
{{* infos pour affichage *}}
|
||||||
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
|
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
|
||||||
{{:assign amount_init=$mvt_new.amount}}
|
{{:assign amount_init=$mvt_new.amount}}
|
||||||
|
{{:assign operation_init=$mvt_new.operation}}
|
||||||
{{:assign date_init=$mvt_new.date|date_short}}
|
{{:assign date_init=$mvt_new.date|date_short}}
|
||||||
{{:assign eqpmt_key=$mvt_new.equipment}}
|
{{:assign eqpmt_key=$mvt_new.equipment}}
|
||||||
|
|
||||||
{{* récupérer les infos du matériel associé *}}
|
{{* récupérer les infos du matériel associé *}}
|
||||||
{{#load key=$eqpmt_key assign="eqpmt"}}
|
{{#load key=$eqpmt_key assign="equipment"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{:error message="Aucun matériel avec la clé « %s »"|args:$eqpmt_key}}
|
{{:error message="Aucun matériel avec la clé « %s »"|args:$eqpmt_key}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
@ -86,12 +87,17 @@
|
|||||||
}}
|
}}
|
||||||
{{if $key != $_GET.key}}
|
{{if $key != $_GET.key}}
|
||||||
{{if ! $insere}}
|
{{if ! $insere}}
|
||||||
{{if
|
{{if $mvt_new.date < $date}}
|
||||||
$mvt_new.direction == "input" && $date >= $mvt_new.date ||
|
|
||||||
$mvt_new.direction == "output" && $date > $mvt_new.date
|
|
||||||
}}
|
|
||||||
{{:assign var="movements_new." from=mvt_new}}
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
{{:assign insere=true}}
|
{{:assign insere=true}}
|
||||||
|
{{elseif $mvt_new.date == $date}}
|
||||||
|
{{if $mvt_new.direction == "input" && $type_mvt != "retour"}}
|
||||||
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
|
{{:assign insere=true}}
|
||||||
|
{{elseif $mvt_new.direction == "output" && $type_mvt == "temporaire"}}
|
||||||
|
{{:assign var="movements_new." from=mvt_new}}
|
||||||
|
{{:assign insere=true}}
|
||||||
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{:assign var="movements_new." from=movement}}
|
{{:assign var="movements_new." from=movement}}
|
||||||
@ -112,12 +118,62 @@
|
|||||||
{{: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.name}} (qté : {{$amount_init}}) en date du {{$date_init}} » vers
|
« {{$op_label}} de {{$equipment.name}} (qté : {{$amount_init}}) en date du {{$date_init}} » vers
|
||||||
« {{$new_op_label}}
|
« {{$new_op_label}}
|
||||||
de {{$eqpmt.name}} (qté : {{$mvt_new.amount}}) à la date du {{$mvt_new.date|date_short}} »
|
de {{$equipment.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é *}}
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{:assign var="type_mvt_init" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$operation_init}}
|
||||||
|
{{:assign var="type_mvt_final" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}}
|
||||||
|
|
||||||
|
{{if $mvt_new.direction == 'input'}}
|
||||||
|
{{if $type_mvt_init == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d-%d"|math:$equipment.stock:$amount_init}}
|
||||||
|
{{elseif $type_mvt_init == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d-%d"|math:$equipment.notowned:$amount_init}}
|
||||||
|
{{elseif $type_mvt_init == 'retour'}}
|
||||||
|
{{:assign var="equipment.out" value="%d+%d"|math:$equipment.out:$amount_init}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{if $type_mvt_final == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d+%d"|math:$equipment.stock:$mvt_new.amount|intval}}
|
||||||
|
{{elseif $type_mvt_final == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$mvt_new.amount|intval}}
|
||||||
|
{{elseif $type_mvt_final == 'retour'}}
|
||||||
|
{{:assign var="equipment.out" value="%d-%d"|math:$equipment.out:$mvt_new.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
{{if $type_mvt_init == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d+%d"|math:$equipment.stock:$amount_init}}
|
||||||
|
{{elseif $type_mvt_init == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.out" value="%d-%d"|math:$equipment.out:$amount_init}}
|
||||||
|
{{elseif $type_mvt_init == 'retour'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$amount_init}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{if $type_mvt_final == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d-%d"|math:$equipment.stock:$mvt_new.amount|intval}}
|
||||||
|
{{elseif $type_mvt_final == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.out" value="%d+%d"|math:$equipment.out:$mvt_new.amount|intval}}
|
||||||
|
{{elseif $type_mvt_final == 'retour'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d-%d"|math:$equipment.notowned:$mvt_new.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
|
||||||
|
{{* enregistrer le mouvement modifié *}}
|
||||||
{{:save
|
{{:save
|
||||||
key=$_GET.key
|
key=$_GET.key
|
||||||
validate_schema="movement.schema.json"
|
validate_schema="movement.schema.json"
|
||||||
@ -141,12 +197,12 @@
|
|||||||
*}}
|
*}}
|
||||||
|
|
||||||
{{* récupérer les infos de la catégorie *}}
|
{{* récupérer les infos de la catégorie *}}
|
||||||
{{#load key=$eqpmt.category assign="category"}}{{/load}}
|
{{#load key=$equipment.category assign="category"}}{{/load}}
|
||||||
|
|
||||||
{{* 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.name}} (Catégorie : {{$category.name}}) »</legend>
|
<legend>Modifier « {{$op_label}} {{$equipment.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}}
|
||||||
|
@ -43,11 +43,11 @@
|
|||||||
{{if ! $insere && $mvt.date > $_POST.date|parse_date}}
|
{{if ! $insere && $mvt.date > $_POST.date|parse_date}}
|
||||||
{{:assign insere=true}}
|
{{:assign insere=true}}
|
||||||
{{:assign dispo_old=$nonproprio}}
|
{{:assign dispo_old=$nonproprio}}
|
||||||
{{:assign nonproprio="%d-%d"|math:$nonproprio:$_POST.quantite}}
|
{{:assign nonproprio="%d-%d"|math:$nonproprio:$_POST.amount}}
|
||||||
|
|
||||||
{{if $nonproprio < 0}}
|
{{if $nonproprio < 0}}
|
||||||
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
||||||
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.quantite:$dispo_old:$date_err}}
|
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$date_err}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
@ -76,18 +76,34 @@
|
|||||||
|
|
||||||
{{if $dispo < 0 || $stock < 0 || $exterieur < 0 || $nonproprio < 0}}
|
{{if $dispo < 0 || $stock < 0 || $exterieur < 0 || $nonproprio < 0}}
|
||||||
{{:assign date_err=$mvt.date|date:"d/m/Y"}}
|
{{:assign date_err=$mvt.date|date:"d/m/Y"}}
|
||||||
{{:error message="Erreur : la quantité indiquée (%s) est incompatible avec la sortie de %s unités à la date du %s"|args:$_POST.quantite:$mvt.amount:$date_err}}
|
{{:error message="Erreur : la quantité indiquée (%s) est incompatible avec la sortie de %s unités à la date du %s"|args:$_POST.amount:$mvt.amount:$date_err}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{if ! $insere}}
|
{{if ! $insere}}
|
||||||
{{:assign dispo_old=$nonproprio}}
|
{{:assign dispo_old=$nonproprio}}
|
||||||
{{:assign nonproprio="%d-%d"|math:$nonproprio:$_POST.quantite}}
|
{{:assign nonproprio="%d-%d"|math:$nonproprio:$_POST.amount}}
|
||||||
{{if $nonproprio < 0}}
|
{{if $nonproprio < 0}}
|
||||||
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
||||||
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.quantite:$dispo_old:$date_err}}
|
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$date_err}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d-%d"|math:$equipment.notowned:$_POST.amount|intval}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
|
||||||
{{* Enregistrer le mouvement *}}
|
{{* Enregistrer le mouvement *}}
|
||||||
{{:assign mvt_key=""|uuid}}
|
{{:assign mvt_key=""|uuid}}
|
||||||
{{:save
|
{{:save
|
||||||
@ -96,7 +112,7 @@
|
|||||||
type="movement"
|
type="movement"
|
||||||
direction="output"
|
direction="output"
|
||||||
operation=$_POST.operation
|
operation=$_POST.operation
|
||||||
amount=$_POST.quantite|intval
|
amount=$_POST.amount|intval
|
||||||
equipment=$equipment.key
|
equipment=$equipment.key
|
||||||
date=$_POST.date|parse_date
|
date=$_POST.date|parse_date
|
||||||
comment=$_POST.remarques|trim
|
comment=$_POST.remarques|trim
|
||||||
@ -134,7 +150,7 @@
|
|||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="operation" label="Type" required=true options=$output_labels|sort}}
|
{{:input type="select" name="operation" label="Type" required=true options=$output_labels|sort}}
|
||||||
{{:input type="date" name="date" label="Date de sortie" required=true default=$now|date_short}}
|
{{:input type="date" name="date" label="Date de sortie" required=true default=$now|date_short}}
|
||||||
{{:input type="number" name="quantite" label="Quantité" required=true default=$present min=1 max=$present}}
|
{{:input type="number" name="amount" label="Quantité" required=true default=$present min=1 max=$present}}
|
||||||
{{: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>
|
||||||
|
@ -45,15 +45,15 @@
|
|||||||
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
|
||||||
{{if $type_mvt == 'définitif'}}
|
{{if $type_mvt == 'définitif'}}
|
||||||
{{:assign stock="%d-%d"|math:$stock:$_POST.quantite}}
|
{{:assign stock="%d-%d"|math:$stock:$_POST.amount}}
|
||||||
{{elseif $type_mvt == 'temporaire'}}
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
{{:assign exterieur="%d+%d"|math:$exterieur:$_POST.quantite}}
|
{{:assign exterieur="%d+%d"|math:$exterieur:$_POST.amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
|
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
|
||||||
{{if $dispo < 0 || $stock < 0 || $exterieur < 0}}
|
{{if $dispo < 0 || $stock < 0 || $exterieur < 0}}
|
||||||
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
||||||
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.quantite:$dispo_old:$date_err}}
|
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$date_err}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
@ -82,7 +82,7 @@
|
|||||||
|
|
||||||
{{if $dispo < 0 || $stock < 0 || $exterieur < 0 || $nonproprio < 0}}
|
{{if $dispo < 0 || $stock < 0 || $exterieur < 0 || $nonproprio < 0}}
|
||||||
{{:assign date_err=$mvt.date|date:"d/m/Y"}}
|
{{:assign date_err=$mvt.date|date:"d/m/Y"}}
|
||||||
{{:error message="Erreur : la quantité indiquée (%s) est incompatible avec la sortie de %s unités à la date du %s"|args:$_POST.quantite:$mvt.amount:$date_err}}
|
{{:error message="Erreur : la quantité indiquée (%s) est incompatible avec la sortie de %s unités à la date du %s"|args:$_POST.amount:$mvt.amount:$date_err}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/load}}
|
{{/load}}
|
||||||
{{if ! $insere}}
|
{{if ! $insere}}
|
||||||
@ -90,18 +90,38 @@
|
|||||||
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
|
||||||
{{if $type_mvt == 'définitif'}}
|
{{if $type_mvt == 'définitif'}}
|
||||||
{{:assign stock="%d-%d"|math:$stock:$_POST.quantite}}
|
{{:assign stock="%d-%d"|math:$stock:$_POST.amount}}
|
||||||
{{elseif $type_mvt == 'temporaire'}}
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
{{:assign exterieur="%d+%d"|math:$exterieur:$_POST.quantite}}
|
{{:assign exterieur="%d+%d"|math:$exterieur:$_POST.amount}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
|
{{:assign dispo="%d-%d"|math:$stock:$exterieur}}
|
||||||
{{if $dispo < 0 || $stock < 0 || $exterieur < 0}}
|
{{if $dispo < 0 || $stock < 0 || $exterieur < 0}}
|
||||||
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
{{:assign date_err=$_POST.date|date:"d/m/Y"}}
|
||||||
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.quantite:$dispo_old:$date_err}}
|
{{:error message="Erreur : la quantité indiquée (%s) est supérieure à celle disponible (%d) à la date du %s"|args:$_POST.amount:$dispo_old:$date_err}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d-%d"|math:$equipment.stock:$_POST.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.out" value="%d+%d"|math:$equipment.out:$_POST.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
|
||||||
{{* Enregistrer le mouvement *}}
|
{{* Enregistrer le mouvement *}}
|
||||||
{{:assign mvt_key=""|uuid}}
|
{{:assign mvt_key=""|uuid}}
|
||||||
{{:save
|
{{:save
|
||||||
@ -110,7 +130,7 @@
|
|||||||
type="movement"
|
type="movement"
|
||||||
direction="output"
|
direction="output"
|
||||||
operation=$_POST.operation
|
operation=$_POST.operation
|
||||||
amount=$_POST.quantite|intval
|
amount=$_POST.amount|intval
|
||||||
equipment=$equipment.key
|
equipment=$equipment.key
|
||||||
date=$_POST.date|parse_date
|
date=$_POST.date|parse_date
|
||||||
comment=$_POST.remarques|trim
|
comment=$_POST.remarques|trim
|
||||||
@ -151,7 +171,7 @@
|
|||||||
<dl>
|
<dl>
|
||||||
{{:input type="select" name="operation" label="Type" required=true default_empty="— Aucun —" options=$output_labels|sort}}
|
{{:input type="select" name="operation" label="Type" required=true default_empty="— Aucun —" options=$output_labels|sort}}
|
||||||
{{:input type="date" name="date" label="Date de sortie" required=true default=$now|date_short}}
|
{{:input type="date" name="date" label="Date de sortie" required=true default=$now|date_short}}
|
||||||
{{:input type="number" name="quantite" label="Quantité" required=true default=$dispo min=1 max=$dispo}}
|
{{:input type="number" name="amount" label="Quantité" required=true default=$dispo min=1 max=$dispo}}
|
||||||
{{: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>
|
||||||
|
@ -102,14 +102,47 @@
|
|||||||
|
|
||||||
{{* 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}}
|
||||||
|
{{:assign mvt_ok=1}}
|
||||||
|
{{/load}}
|
||||||
|
{{if $mvt_ok}}
|
||||||
|
{{* calculer la nouvelle quantité du matériel *}}
|
||||||
|
{{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_suppr.direction:$mvt_suppr.operation}}
|
||||||
|
{{if $mvt_suppr.direction == 'input'}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d-%d"|math:$equipment.stock:$mvt_suppr.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d-%d"|math:$equipment.notowned:$mvt_suppr.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'retour'}}
|
||||||
|
{{:assign var="equipment.out" value="%d+%d"|math:$equipment.out:$mvt_suppr.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
{{if $type_mvt == 'définitif'}}
|
||||||
|
{{:assign var="equipment.stock" value="%d+%d"|math:$equipment.stock:$mvt_suppr.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'temporaire'}}
|
||||||
|
{{:assign var="equipment.out" value="%d-%d"|math:$equipment.out:$mvt_suppr.amount|intval}}
|
||||||
|
{{elseif $type_mvt == 'retour'}}
|
||||||
|
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$mvt_suppr.amount|intval}}
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{:save
|
||||||
|
key=$equipment.key
|
||||||
|
validate_schema="../equipment.schema.json"
|
||||||
|
type="equipment"
|
||||||
|
category=$equipment.category
|
||||||
|
name=$equipment.name
|
||||||
|
status="available"
|
||||||
|
stock=$equipment.stock
|
||||||
|
out=$equipment.out
|
||||||
|
notowned=$equipment.notowned
|
||||||
|
}}
|
||||||
|
{{:redirect force="../historique.html?ok=1&key=%s&prop=%s&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
||||||
{{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.name}}
|
{{:redirect force="../index.html?ok=1&msg=supprmvtmat"}}
|
||||||
{{:redirect force="../index.html?ok=1&msg=supprmvtmat"|args:$msg}}
|
{{/if}}
|
||||||
{{/load}}
|
|
||||||
|
|
||||||
{{:redirect force="../historique.html?ok=1&key=%s&prop=%s&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Supprimer un mouvement" current="module_equipment"}}
|
{{:admin_header title="Supprimer un mouvement" current="module_equipment"}}
|
||||||
|
@ -14,13 +14,14 @@
|
|||||||
|
|
||||||
{{* Traiter l'envoi du formulaire *}}
|
{{* Traiter l'envoi du formulaire *}}
|
||||||
{{#form on="save"}}
|
{{#form on="save"}}
|
||||||
{{if $_POST.unarchive == 1}}
|
{{if $_POST.unarchive != 1}}
|
||||||
{{:save
|
{{:save
|
||||||
key=$equipment.key
|
key=$equipment.key
|
||||||
status="available"
|
status="available"
|
||||||
}}
|
}}
|
||||||
{{/if}}
|
|
||||||
{{:redirect force="archives.html?ok=1&msg=modification"}}
|
{{:redirect force="archives.html?ok=1&msg=modification"}}
|
||||||
|
{{/if}}
|
||||||
|
{{:redirect force="archives.html"}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
{{:admin_header title="Modifier matériel" custom_css="./style.css" current="module_equipment"}}
|
{{:admin_header title="Modifier matériel" custom_css="./style.css" current="module_equipment"}}
|
||||||
@ -40,7 +41,7 @@
|
|||||||
<dd>{{$cat_name}}</dd>
|
<dd>{{$cat_name}}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
{{:input type="checkbox" value=1 name="unarchive" label="Désarchiver" help="cocher pour remettre le matériel en service"}}
|
{{:input type="checkbox" value=1 name="unarchive" label="Archivé" checked="checked" help="décocher pour remettre le matériel en service"}}
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user