2023-12-04 10:56:36 +01:00
|
|
|
{{#restrict section="accounting" level="write" block=true}}{{/restrict}}
|
2023-10-21 11:05:19 +02:00
|
|
|
{{:admin_header title="Supprimer une entrée" current="module_equipment"}}
|
|
|
|
|
2023-11-23 14:47:34 +01:00
|
|
|
{{* récupérer les infos du mouvement à supprimer et du matériel associé *}}
|
|
|
|
{{#load key=$_GET.key assign="mvt_suppr"}}
|
2023-10-21 11:05:19 +02:00
|
|
|
{{else}}
|
2023-12-06 09:59:11 +01:00
|
|
|
{{:error message="Aucune entrée avec la clé « %s »"|args:$_GET.key}}
|
2023-11-23 14:47:34 +01:00
|
|
|
{{/load}}
|
|
|
|
|
|
|
|
{{:assign amount_suppr=$mvt_suppr.amount}}
|
|
|
|
{{:assign date_suppr=$mvt_suppr.date|date_short}}
|
|
|
|
{{:assign key_eqpmt_suppr=$mvt_suppr.equipment}}
|
|
|
|
|
|
|
|
{{#load key=$key_eqpmt_suppr assign="eqpmt_suppr"}}
|
|
|
|
{{else}}
|
2023-12-06 09:59:11 +01:00
|
|
|
{{:error message="Aucun matériel avec la clé « %s »"|args:$key_eqpmt_suppr}}
|
2023-10-21 11:05:19 +02:00
|
|
|
{{/load}}
|
|
|
|
|
|
|
|
{{#form on="delete"}}
|
2023-11-23 14:47:34 +01:00
|
|
|
|
2023-12-06 09:59:11 +01:00
|
|
|
{{* récupérer la config des entrées/sorties *}}
|
|
|
|
{{:include file="../../_get_config.html" keep="config"}}
|
|
|
|
|
|
|
|
{{* vérifier s'il est possible de supprimer l'entrée *}}
|
|
|
|
{{:assign dispo=0}}
|
|
|
|
{{:assign nonprop=0}}
|
|
|
|
{{* parcourir la liste des mouvements du matériel *}}
|
|
|
|
|
|
|
|
{{#load
|
|
|
|
type="movement"
|
|
|
|
where="$$.equipment = :key" :key=$key_eqpmt_suppr
|
|
|
|
assign="movement"
|
|
|
|
order="$$.date"}}
|
|
|
|
|
|
|
|
{{if $key != $_GET.key}}
|
|
|
|
{{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}}
|
|
|
|
{{if $movement.direction == 'input'}}
|
|
|
|
{{* chercher le type d'entrée parmi les types de la config *}}
|
|
|
|
{{#foreach from=$config.input_nature item="elem"}}
|
|
|
|
{{if $movement.input_nature == $elem.label}}
|
|
|
|
{{if $elem.type == 'temporaire'}}
|
|
|
|
{{:assign nonprop="%d+%d"|math:$nonprop:$movement.amount}}
|
|
|
|
{{else}}
|
|
|
|
{{:assign dispo="%d+%d"|math:$dispo:$movement.amount}}
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
{{/foreach}}
|
|
|
|
{{elseif $movement.direction == 'output'}}
|
|
|
|
{{* chercher le type de sortie parmi les types de la config *}}
|
|
|
|
{{#foreach from=$config.output_nature item="elem"}}
|
|
|
|
{{if $movement.output_nature == $elem.label}}
|
|
|
|
{{if $elem.type == 'retour'}}
|
|
|
|
{{:assign nonprop="%d-%d"|math:$nonprop:$movement.amount}}
|
|
|
|
{{else}}
|
|
|
|
{{:assign dispo="%d-%d"|math:$dispo:$movement.amount}}
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
{{/foreach}}
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
{{* problème ? *}}
|
|
|
|
{{if $dispo < 0 || $nonprop < 0}}
|
|
|
|
{{:redirect force="./index.html?err=1&msg=suppression"}}
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
{{/if}}
|
|
|
|
{{/load}}
|
|
|
|
|
|
|
|
{{* vérification réussie : supprimer l'entrée *}}
|
|
|
|
{{:delete key=$_GET.key}}
|
|
|
|
{{:assign var="msg" value="suppression"}}
|
|
|
|
|
|
|
|
{{* voir s'il reste des mouvements pour le matériel concerné par le mouvement supprimé *}}
|
|
|
|
{{#load type="movement" where="$$.equipment = :eqpmt_key" :eqpmt_key=$key_eqpmt_suppr}}
|
|
|
|
{{else}}
|
|
|
|
{{* supprimer le matériel *}}
|
|
|
|
{{:delete key=$key_eqpmt_suppr}}
|
|
|
|
{{:assign var="msg" value="%s - matériel"|args:$msg}}
|
|
|
|
{{/load}}
|
|
|
|
|
|
|
|
{{:redirect force="./index.html?ok=1&msg=%s"|args:$msg}}
|
2023-10-21 11:05:19 +02:00
|
|
|
{{/form}}
|
|
|
|
|
2023-11-23 14:47:34 +01:00
|
|
|
{{:delete_form
|
2023-12-06 09:59:11 +01:00
|
|
|
legend="Supprimer cette entrée ?"
|
|
|
|
warning="Supprimer l'entrée « %s %s (%d) en date du %s » ?"|args:$mvt_suppr.input_nature:$eqpmt_suppr.designation:$amount_suppr:$date_suppr
|
|
|
|
info="S'il ne reste aucun mouvement pour ce matériel, le matériel sera supprimé"
|
2023-11-28 15:15:19 +01:00
|
|
|
}}
|
2023-10-21 11:05:19 +02:00
|
|
|
|
|
|
|
{{:form_errors}}
|
|
|
|
|
|
|
|
{{:admin_footer}}
|