refonte attachement/détachement écritures amortissement

This commit is contained in:
Jean-Christophe Engel 2024-12-17 10:15:30 +01:00
parent 59e6abe581
commit 10f2128b1b
3 changed files with 56 additions and 49 deletions

View file

@ -5,27 +5,54 @@
une écriture d'immobilisation
*}}
{{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}}
{{* chercher l'écriture d'immobilisation *}}
{{#select
id_transaction
FROM acc_transactions_lines
WHERE id = :line_id;
:line_id = $_GET.immo_id|intval
}}
{{:assign immo_trans_id=$id_transaction}}
{{else}}
{{:assign message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}}
{{:error message=$message}}
{{/load}}
{{:error message="Impossible de trouver l'écriture d'immobilisation de la ligne « %s »"|args:$_GET.immo_id}}
{{/select}}
{{:assign var="liste_amort" val=$info_immo.amort}}
{{* chercher l'écriture d'amortissement *}}
{{#select
id_transaction
FROM acc_transactions_lines
WHERE id = :line_id;
:line_id = $_GET.amort_id|intval
}}
{{:assign amort_id=$id_transaction}}
{{else}}
{{:error message="Impossible de trouver l'écriture d'amortissement de la ligne « %s »"|args:$_GET.amort_id}}
{{/select}}
{{#foreach from=$info_immo.amort item="amort_id"}}
{{if $amort_id != $_GET.amort_id}}
{{:assign var="t_amort." value=$amort_id}}
{{*
chercher les liaisons de l'écriture d'immobilisation
et supprimer la liaison avec l'écriture d'amortissement
*}}
{{#select
CASE links.id_related = :immo_trans_id
WHEN true THEN links.id_transaction
WHEN false THEN links.id_related
END as linked_id
FROM acc_transactions_links as links
WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id;
:immo_trans_id = $immo_trans_id
}}
{{if $linked_id != $amort_id}}
{{:assign var="linked_transactions." value=$linked_id}}
{{/if}}
{{/foreach}}
{{/select}}
{{* Enregistrer les infos *}}
{{:save
key=$info_immo.key
validate_schema="schema.json"
type="immo"
line=$info_immo.line
duration=$info_immo.duration
amort=$t_amort
{{* Enregistrer les liaisons *}}
{{:api
method="POST"
path="accounting/transaction/%s/transactions"|args:$immo_trans_id
assign="result"
assign_code="result_code"
transactions=$linked_transactions
}}
{{:redirect to="amortization.html?immo_id=%s&ok=1&msg=detach"|args:$_GET.immo_id}}