Vérification possibilité supprimer sortie temporaire
This commit is contained in:
parent
e2927a9595
commit
ba7a2dd8a8
@ -1,34 +1,87 @@
|
||||
{{#restrict section="config" level="admin" block=true}}{{/restrict}}
|
||||
{{:admin_header title="Supprimer une sortie" current="module_equipment"}}
|
||||
|
||||
{{#load key=$_GET.key assign="movement"}}
|
||||
{{* trouver le matériel concerné par ce mouvement *}}
|
||||
{{#load type="equipment" where="key = :key" :key=$movement.equipment assign="equipment"}}
|
||||
{{else}}
|
||||
{{:error message="Matériel avec la clé « %s » introuvable"|args:$movement.equipment}}
|
||||
{{/load}}
|
||||
{{* récupérer les infos du mouvement à supprimer et du matériel associé *}}
|
||||
{{#load key=$_GET.key assign="mvt_suppr"}}
|
||||
{{else}}
|
||||
{{:error message="Sortie avec la clé %s introuvable"|args:$_GET.key}}
|
||||
{{: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}}
|
||||
{{:assign var="date_supp" value="%s"|args:$movement.date|date_short}}
|
||||
|
||||
{{#form on="delete"}}
|
||||
{{* supprimer le mouvement *}}
|
||||
{{:delete key=$_GET.key}}
|
||||
{{:assign var="msg" value="Sortie « %d %s en date du %s » supprimée"|args:$movement.amount:$equipment.designation:$date_supp}}
|
||||
|
||||
{{* 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}}
|
||||
{{else}}
|
||||
{{* supprimer le matériel *}}
|
||||
{{:delete key=$equipment.key}}
|
||||
{{:assign var="msg" value="%s - Matériel « %s » supprimé"|args:$msg:$equipment.designation}}
|
||||
{{* déterminer s'il s'agit d'une sortie temporaire *}}
|
||||
{{:assign temporaire=false}}
|
||||
{{#foreach from=$module.config.outputNature item="elem"}}
|
||||
{{if $mvt_suppr.outputNature == $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 == 'entrée'}}
|
||||
{{* chercher le type d'entrée parmi les types de la config *}}
|
||||
{{#foreach from=$module.config.inputNature item="elem"}}
|
||||
{{if $movement.inputNature == $elem.label && $elem.type == 'retour'}}
|
||||
{{:assign exterieur="%d-%d"|math:$exterieur:$movement.amount}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{elseif $movement.direction == 'sortie'}}
|
||||
{{* chercher le type de sortie parmi les types de la config *}}
|
||||
{{#foreach from=$module.config.outputNature item="elem"}}
|
||||
{{if $movement.outputNature == $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=Impossible de supprimer la sortie « %s %s (%d) en date du %s »"|args:$mvt_suppr.outputNature:$eqpmt_suppr.designation:$amount_suppr:$date_suppr}}
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
{{/load}}
|
||||
{{/if}}
|
||||
|
||||
{{:redirect force="./index.html?ok=1&msg=%s"|args:$msg}}
|
||||
{{* vérification réussie : supprimer le mouvement *}}
|
||||
{{:delete key=$_GET.key}}
|
||||
{{:assign var="msg" value="Sortie « %s %s (%d) en date du %s » supprimée"|args:$mvt_suppr.outputNature:$eqpmt_suppr.designation:$amount_suppr:$date_suppr}}
|
||||
|
||||
{{* 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=$eqpmt_suppr_key}}
|
||||
{{:assign var="msg" value="%s - Matériel « %s » supprimé"|args:$msg:$eqpmt_suppr.designation}}
|
||||
{{/load}}
|
||||
|
||||
{{:redirect force="./index.html?ok=1&msg=%s"|args:$msg}}
|
||||
{{/form}}
|
||||
|
||||
{{:delete_form legend="Supprimer cette sortie ?" warning="Supprimer la sortie « %d %s » en date du %s ?"|args:$movement.amount:$equipment.designation:$date_supp}}
|
||||
{{:delete_form
|
||||
legend="Supprimer cette sortie ?"
|
||||
warning="Supprimer la sortie « %s %s (%d) en date du %s » ?"|args:$mvt_suppr.outputNature:$eqpmt_suppr.designation:$amount_suppr:$date_suppr
|
||||
}}
|
||||
|
||||
{{:form_errors}}
|
||||
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
{{if $_GET.ok}}
|
||||
<p class="block confirm">{{$_GET.msg}}</p>
|
||||
{{elseif $_GET.err}}
|
||||
<p class="block error">{{$_GET.msg}}</p>
|
||||
{{/if}}
|
||||
|
||||
<form method="post" action="">
|
||||
@ -42,14 +44,14 @@
|
||||
<td>{{$col4}}</td>
|
||||
<td>{{$comment}}</td>
|
||||
<td class="actions">
|
||||
{{*
|
||||
{{:linkbutton label="Supprimer" href="delete_sortie.html?key=%s"|args:$mvt_key shape="delete" target="_dialog"}}
|
||||
*}}
|
||||
{{*
|
||||
{{:linkbutton
|
||||
label="Supprimer"
|
||||
href="../delete_movement.html?key=%s&mvt=sortie&caller=%s"|args:$mvt_key:$request_url
|
||||
shape="delete"
|
||||
target="_dialog"}}
|
||||
*}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/list}}
|
||||
|
Loading…
Reference in New Issue
Block a user