Ajout archivage matériels de stock nul
This commit is contained in:
parent
3e0f3159ae
commit
4a46099275
10 changed files with 214 additions and 60 deletions
|
|
@ -8,51 +8,64 @@
|
|||
|
||||
{{:assign equipment_key=$_GET.key|trim}}
|
||||
{{#load key=$_GET.key assign="equipment"}}
|
||||
{{:assign default_category=$equipment.category}}
|
||||
{{else}}
|
||||
{{:error message="Pas de matériel avec la clé %s"|args:$equipment_key}}
|
||||
{{/load}}
|
||||
{{:assign default_category=$equipment.category}}
|
||||
|
||||
{{* Traiter l'envoi du formulaire *}}
|
||||
{{#form on="save"}}
|
||||
|
||||
{{* récupérer les infos de la catégorie *}}
|
||||
{{#load type="category" key=$_POST.category assign="category"}}
|
||||
{{/load}}
|
||||
|
||||
{{* vérifier la validité des changements demandés *}}
|
||||
{{:assign chgt_ok=true}}
|
||||
{{if $_POST.category != $default_category}}
|
||||
|
||||
{{* catégorie change : vérifier le nom *}}
|
||||
{{#load key=$equipment_key}}
|
||||
{{if $name|trim|tolower != $_POST.name|trim|tolower}}
|
||||
{{* le nom change => vérifier l'existence d'un matériel du même nom *}}
|
||||
{{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}}
|
||||
{{:assign chgt_ok=false}}
|
||||
{{/load}}
|
||||
{{else}}
|
||||
{* le nom ne change pas : ok *}}
|
||||
{{/if}}
|
||||
{{/load}}
|
||||
|
||||
{{if $_POST.archive == 1}}
|
||||
{{* vérifier si le stock est nul *}}
|
||||
{{if $_GET.stock != 0}}
|
||||
{{:error message="L'archivage n'est possible que si le stock est nul !"}}
|
||||
{{/if}}
|
||||
{{* archiver le matériel *}}
|
||||
{{:save
|
||||
key=$equipment_key
|
||||
status="archived"
|
||||
}}
|
||||
{{else}}
|
||||
{{* catégorie ne change pas => vérifier le nom *}}
|
||||
{{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}}
|
||||
{{:assign chgt_ok=false}}
|
||||
{{/load}}
|
||||
|
||||
{{* récupérer les infos de la catégorie *}}
|
||||
{{#load type="category" key=$_POST.category assign="category"}}{{/load}}
|
||||
|
||||
{{* vérifier la validité des changements demandés *}}
|
||||
{{:assign chgt_ok=true}}
|
||||
{{if $_POST.category != $default_category}}
|
||||
|
||||
{{* catégorie change : vérifier le nom *}}
|
||||
{{#load key=$equipment_key}}
|
||||
{{if $name|trim|tolower != $_POST.name|trim|tolower}}
|
||||
{{* le nom change => vérifier l'existence d'un matériel du même nom *}}
|
||||
{{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}}
|
||||
{{:assign chgt_ok=false}}
|
||||
{{/load}}
|
||||
{{else}}
|
||||
{* le nom ne change pas : ok *}}
|
||||
{{/if}}
|
||||
{{/load}}
|
||||
|
||||
{{else}}
|
||||
{{* catégorie ne change pas => vérifier le nom *}}
|
||||
{{#load type="equipment" where="$$.name = :name" :name=$_POST.name|trim|tolower|ucfirst limit=1}}
|
||||
{{:assign chgt_ok=false}}
|
||||
{{/load}}
|
||||
{{/if}}
|
||||
|
||||
{{if !$chgt_ok}}
|
||||
{{:error message="Erreur : il existe déjà un matériel avec cette désignation"}}
|
||||
{{/if}}
|
||||
|
||||
{{* enregistrer les modifications *}}
|
||||
{{:save
|
||||
key=$equipment_key
|
||||
category=$category.key
|
||||
name=$_POST.name|trim|tolower|ucfirst
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{if !$chgt_ok}}
|
||||
{{:error message="Erreur : il existe déjà un matériel avec cette désignation"}}
|
||||
{{/if}}
|
||||
|
||||
{{* enregistrer les modifications *}}
|
||||
{{:save
|
||||
key=$equipment_key
|
||||
category=$category.key
|
||||
name=$_POST.name|trim|tolower|ucfirst
|
||||
}}
|
||||
{{:redirect force="index.html?ok=1&msg=modification&prop=%s"|args:$_GET.prop}}
|
||||
{{/form}}
|
||||
|
||||
|
|
@ -68,8 +81,9 @@
|
|||
<fieldset class="modification">
|
||||
<legend>Modifier un matériel</legend>
|
||||
<dl>
|
||||
{{:input type="select" name="category" label="Catégorie" default=$default_category required=true options=$categories}}
|
||||
{{:input type="text" name="name" label="Désignation" default=$equipment.name required=true}}
|
||||
{{:input type="select" name="category" label="Catégorie" default=$default_category required=true options=$categories}}
|
||||
{{: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>
|
||||
</fieldset>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue