From 10f2128b1bad11e120ca290bee068078467fe97c Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Tue, 17 Dec 2024 10:15:30 +0100 Subject: [PATCH] =?UTF-8?q?refonte=20attachement/d=C3=A9tachement=20=C3=A9?= =?UTF-8?q?critures=20amortissement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- amortization.html | 25 ++++--------------- attach_amort.html | 19 ++++++--------- detach_amort.html | 61 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 56 insertions(+), 49 deletions(-) diff --git a/amortization.html b/amortization.html index 673818e..d7f82a9 100644 --- a/amortization.html +++ b/amortization.html @@ -26,8 +26,7 @@ {{* récupérer les infos de l'immobilisation *}} {{#load type="immo" assign="info_immo" where="$$.line = :line_id" :line_id=$_GET.immo_id|intval}} {{else}} - {{:assign message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}} - {{:error message=$message}} + {{:error message="Pas d'info concernant l'immobilisation %s"|args:$_GET.immo_id}} {{/load}} {{:assign var="duree" from="info_immo.duration"|args:$_GET.immo_id}} @@ -52,8 +51,7 @@ }}

Amortissement de « {{$label}} » d'un montant de {{"%f"|math:$montant|money_currency}} en date du {{$date_achat|date_short}} sur {{$duree}} ans

{{else}} - {{:assign message="Immobilisation %s non trouvée"|args:$_GET.immo_id}} - {{:error message=$message}} + {{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}} {{/select}} {{* chercher des écritures d'amortissement liées à l'immobilisation *}} @@ -70,8 +68,7 @@ trans.id_year as amort_year, acc.id as account_id, acc.code as account_code, - acc.label as account_name, - "vrai" as linked + acc.label as account_name FROM acc_transactions_lines as l_immo INNER JOIN acc_transactions as t_immo on t_immo.id = l_immo.id_transaction @@ -154,11 +151,7 @@ {{$line.account_code}} {{$line.account_name}} - {{if $line.linked == null}} - {{:linkbutton label="Détacher" href="detach_amort.html?amort_id=%d&immo_id=%d"|args:$line.amort_line:$ligne_immo.immo_id shape="plus"}} - {{else}} - {{*:linkbutton label="Détacher" href="" shape="lock" class="disabled"*}} - {{/if}} + {{:linkbutton label="Détacher" href="detach_amort.html?amort_id=%d&immo_id=%d"|args:$line.amort_line:$ligne_immo.immo_id shape="plus"}} {{:assign annuite_courante=$annuite}} @@ -221,8 +214,6 @@ shape="right" target="_dialog" }} - {{else}} - {{*:linkbutton label="Créer l'écriture" href="" shape="lock" class="disabled"*}} {{/if}} @@ -259,7 +250,6 @@ order by trans.date, trans.label; assign=autre_amort }} - {{:assign linked="false"}} {{#select id_transaction, id_related @@ -267,7 +257,6 @@ where id_transaction = :id_amort or id_related = :id_amort; :id_amort=$t_id }} - {{:assign var=autre_amort.linked value="true"}} {{else}} {{:assign var="autres_amortissements." value=$autre_amort}} {{/select}} @@ -305,11 +294,7 @@ {{$line.a_code}} {{$line.a_label}} - {{if $linked != "true"}} - {{:linkbutton label="Attacher" href="attach_amort.html?amort_id=%d&immo_id=%d"|args:$line.l_id:$ligne_immo.immo_id shape="plus"}} - {{else}} - {{:linkbutton label="Attacher" href="" shape="lock" class="disabled"}} - {{/if}} + {{:linkbutton label="Attacher" href="attach_amort.html?amort_id=%d&immo_id=%d"|args:$line.l_id:$ligne_immo.immo_id shape="plus"}} {{/foreach}} diff --git a/attach_amort.html b/attach_amort.html index 96a9908..01993a4 100644 --- a/attach_amort.html +++ b/attach_amort.html @@ -12,11 +12,9 @@ WHERE id = :line_id; :line_id = $_GET.immo_id|intval }} - {{:assign immo_id=$id_transaction}} + {{:assign immo_trans_id=$id_transaction}} {{else}} - {{* TODO : améliorer le message d'erreur *}} - {{:assign message="Impossible de trouver l'écriture d'immobilisation de la ligne « %s »"|args:$_GET.immo_id}} - {{:error message=$message}} + {{:error message="Impossible de trouver l'écriture d'immobilisation de la ligne « %s »"|args:$_GET.immo_id}} {{/select}} {{* chercher l'écriture d'amortissement *}} @@ -28,20 +26,18 @@ }} {{:assign amort_id=$id_transaction}} {{else}} - {{* TODO : améliorer le message d'erreur *}} - {{:assign message="Impossible de trouver l'écriture d'amortissement de la ligne « %s »"|args:$_GET.amort_id}} - {{:error message=$message}} + {{:error message="Impossible de trouver l'écriture d'amortissement de la ligne « %s »"|args:$_GET.amort_id}} {{/select}} {{* chercher les liaisons de l'écriture d'immobilisation *}} {{#select - CASE links.id_related = :immo_id + 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_id or id_related = :immo_id; - :immo_id = $immo_id + WHERE id_transaction = :immo_trans_id or id_related = :immo_trans_id; + :immo_trans_id = $immo_trans_id }} {{:assign var="linked_transactions." value=$linked_id}} {{/select}} @@ -52,10 +48,9 @@ {{* Enregistrer les liaisons *}} {{:api method="POST" - path="accounting/transaction/%s/transactions"|args:$immo_id + 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=attach"|args:$_GET.immo_id}} diff --git a/detach_amort.html b/detach_amort.html index e527409..bdbca86 100644 --- a/detach_amort.html +++ b/detach_amort.html @@ -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}}