{{#restrict section="accounting" level="write" block=true}}{{/restrict}} {{:admin_header title="Supprimer une sortie" 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 sortie 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"}} {{* déterminer s'il s'agit d'une sortie temporaire *}} {{:assign temporaire=false}} {{#foreach from=$config.output_nature item="elem"}} {{if $mvt_suppr.output_nature == $elem.label && $elem.type == 'temporaire'}} {{:assign temporaire=true}} {{:break}} {{/if}} {{/foreach}} {{* dans le cas d'une sortie temporaire, vérifier s'il est possible de la supprimer *}} {{if $temporaire}} {{:assign exterieur=0}} {{#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 && $elem.type == 'retour'}} {{:assign exterieur="%d-%d"|math:$exterieur:$movement.amount}} {{/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 && $elem.type == 'temporaire'}} {{:assign exterieur="%d+%d"|math:$exterieur:$movement.amount}} {{/if}} {{/foreach}} {{/if}} {{* problème ? *}} {{if $exterieur < 0}} {{:redirect force="./index.html?err=1&msg=suppression"}} {{/if}} {{/if}} {{/load}} {{/if}} {{* vérification réussie : supprimer la sortie *}} {{: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 sortie ?" warning="Supprimer la sortie « %s %s (%d) en date du %s » ?"|args:$mvt_suppr.output_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}}