{{#restrict section="accounting" level="write" block=true}}{{/restrict}}
{{:admin_header title="Supprimer une entrée" current="module_equipment"}}

{{* récupérer les infos du mouvement à supprimer et du matériel associé *}}
{{#load key=$_GET.key assign="mvt_suppr"}}
{{else}}
	{{:error message="Aucune entrée avec la clé « %s »"|args:$_GET.key}}
{{/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}}
	{{:error message="Aucun matériel avec la clé « %s »"|args:$key_eqpmt_suppr}}
{{/load}}

{{#form on="delete"}}

	{{* 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="mvt"
		order="$$.date"}}

		{{* déterminer le type de mouvement *}}
		{{:assign var="mvt_nature" from="mvt.%s_nature"|args:$mvt.direction}}
		{{:assign var="type_mvt" from="config.%s_nature.%s"|args:$mvt.direction:$mvt_nature}}

		{{if $key != $_GET.key}}
			{{* ce n'est pas le mouvement à supprimer : cumuler les entrées/sorties *}}
			{{if $mvt.direction == 'input'}}
				{{if $type_mvt == 'temporaire'}}
					{{:assign nonprop="%d+%d"|math:$nonprop:$mvt.amount}}
				{{else}}
					{{:assign dispo="%d+%d"|math:$dispo:$mvt.amount}}
				{{/if}}
			{{elseif $mvt.direction == 'output'}}
				{{if $type_mvt == 'retour'}}
					{{:assign nonprop="%d-%d"|math:$nonprop:$mvt.amount}}
				{{else}}
					{{:assign dispo="%d-%d"|math:$dispo:$mvt.amount}}
				{{/if}}
			{{/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}}
{{/form}}

{{:delete_form
	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é"
}}

{{:form_errors}}

{{:admin_footer}}