136 lines
4.5 KiB
HTML
136 lines
4.5 KiB
HTML
{{* -*- brindille -*-}}
|
|
|
|
{{*
|
|
paramètres GET :
|
|
- key : clé du mouvement à supprimer
|
|
*}}
|
|
|
|
{{:assign var="libelles.input" value="entrée"}}
|
|
{{:assign var="libelles.output" value="sortie"}}
|
|
|
|
{{#load key=$_GET.key assign="mvt_suppr"}}
|
|
{{else}}
|
|
{{:error message="Aucun mouvement avec la clé « %s »"|args:$_GET.key}}
|
|
{{/load}}
|
|
|
|
{{:assign var="libelle" from="libelles.%s"|args:$mvt_suppr.direction}}
|
|
{{:assign key_eqpmt_suppr=$mvt_suppr.equipment}}
|
|
{{:assign var="date_suppr" value="%s"|args:$mvt_suppr.date|date_short}}
|
|
|
|
{{* trouver le matériel concerné par ce mouvement *}}
|
|
{{#load type="equipment" where="key = :key" :key=$mvt_suppr.equipment assign="equipment"}}
|
|
{{else}}
|
|
{{:error message="Aucun matériel avec la clé « %s »"|args:$mvt_suppr.equipment}}
|
|
{{/load}}
|
|
|
|
|
|
{{:admin_header title="Supprimer une %s"|args:$libelle current="module_equipment"}}
|
|
|
|
{{#form on="delete"}}
|
|
{{* récupérer la config des entrées/sorties *}}
|
|
{{:include file="../_get_config.html" keep="config"}}
|
|
|
|
{{* TODO vérifier s'il est possible de supprimer le mouvement *}}
|
|
{{if $mvt_suppr.direction == 'input'}}
|
|
{{:assign dispo=0}}
|
|
{{:assign nonprop=0}}
|
|
|
|
{{#load
|
|
type="movement"
|
|
where="$$.equipment = :key" :key=$mvt_suppr.equipment
|
|
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="../historique.html?key=%s&prop=%s&err=1&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
{{/load}}
|
|
|
|
{{else}}
|
|
{{* sortie *}}
|
|
{{:assign temporaire=false}}
|
|
{{:assign var="output_nature" from="config.output_nature.%s"|args:$mvt_suppr.output_nature}}
|
|
|
|
{{if $output_nature == 'temporaire'}}
|
|
{{:assign exterieur=0}}
|
|
{{#load
|
|
type="movement"
|
|
where="$$.equipment = :key" :key=$mvt_suppr.equipment
|
|
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 == 'retour'}}
|
|
{{:assign exterieur="%d-%d"|math:$exterieur:$mvt.amount}}
|
|
{{/if}}
|
|
{{elseif $mvt.direction == 'output'}}
|
|
{{if $type_mvt == 'temporaire'}}
|
|
{{:assign exterieur="%d+%d"|math:$exterieur:$mvt.amount}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{* problème ? *}}
|
|
{{if $exterieur < 0}}
|
|
{{:redirect force="../historique.html?key=%s&prop=%s&err=1&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
|
{{/if}}
|
|
{{/if}}
|
|
{{/load}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{* vérification réussie : supprimer le mouvement *}}
|
|
{{:delete key=$_GET.key}}
|
|
{{:assign libelle=$libelle|ucfirst}}
|
|
{{:assign var="msg" value="%s « %s (%d) en date du %s » supprimée"|args:$libelle:$equipment.designation:$mvt_suppr.amount:$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=$equipment.key}}
|
|
{{else}}
|
|
{{* supprimer le matériel *}}
|
|
{{:delete key=$equipment.key}}
|
|
{{:assign var="msg" value="%s - Matériel « %s » supprimé"|args:$msg:$equipment.designation}}
|
|
{{:redirect force="../index.html?ok=1&msg=%s"|args:$msg}}
|
|
{{/load}}
|
|
|
|
{{:redirect force="../historique.html?ok=1&key=%s&prop=%s&msg=%s"|args:$mvt_suppr.equipment:$_GET.prop:$msg}}
|
|
{{/form}}
|
|
|
|
{{:delete_form
|
|
legend="Supprimer cette %s ?"|args:$libelle
|
|
warning="Supprimer « %s (%d) en date du %s » ?"|args:$equipment.designation:$mvt_suppr.amount:$date_suppr
|
|
info="S'il ne reste aucun mouvement pour ce matériel, le matériel sera supprimé"
|
|
}}
|
|
|
|
{{:form_errors}}
|
|
|
|
{{:admin_footer}}
|