diff --git a/_common_attach.html b/_common_attach.html new file mode 100644 index 0000000..f89b81f --- /dev/null +++ b/_common_attach.html @@ -0,0 +1,39 @@ +{{* -*- brindille -*- *}} + +{{* + Enregistrer l'association entre une ligne d'immo et une autre ligne (amort, credit, cession, sortie) + @param immo_doc_id : id du doc associé à la ligne d'immobilisation + @param trans_id : id de l'écriture à attacher +*}} +{{* données de l'immobilisation *}} +{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="ligne_immo, message"}} +{{if $message != null}} + {{:error message=$message}} +{{/if}} + +{{* chercher les liaisons de l'écriture d'immobilisation *}} +{{#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 = $ligne_immo.trans_id +}} + {{:assign var="linked_transactions." value=$linked_id}} +{{/select}} +{{:debug immo_doc_id=$immo_doc_id trans_id=$trans_id linked_transactions=$linked_transactions}} + +{{* ajouter la nouvelle liaison *}} +{{:assign var="linked_transactions." value=$trans_id}} +{{:debug ligne_immo=$ligne_immo linked_transactions=$linked_transactions}} +{{* Enregistrer les liaisons *}} +{{:api + method="POST" + path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id + assign="result" + assign_code="result_code" + transactions=$linked_transactions +}} + diff --git a/attach_amort.html b/attach_amort.html index adf9e5c..5c2951c 100644 --- a/attach_amort.html +++ b/attach_amort.html @@ -93,28 +93,8 @@ {{:error message="Le montant de l'amortissement (%s) dépasse la valeur résiduelle de l'immobilisation (%s)"|args:$ma:$vnc}} {{/if}} - {{* chercher les liaisons de l'écriture d'immobilisation *}} - {{#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 = $ligne_immo.trans_id - }} - {{:assign var="linked_transactions." value=$linked_id}} - {{/select}} - - {{* ajouter la nouvelle liaison *}} - {{:assign var="linked_transactions." value=$amort_line.trans_id}} - {{:api - method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id - assign="result" - assign_code="result_code" - transactions=$linked_transactions - }} + {{* Lier l'écriture d'amortissement à l'écriture d'immobilisation *}} + {{:include file="_common_attach.html" immo_doc_id=$_GET.immo_doc_id trans_id=$amort_line.trans_id}} {{* vérifier si cette liaison est déjà présente dans les documents pour éviter les doublons *}} {{* TODO voir si nécessaire ? *}} @@ -134,7 +114,7 @@ }} {{/load}} - {{* immo soldée ? *}} + {{* À VÉRIFIER immo soldée ? *}} {{if $total_amort == $montant_immo}} {{:assign status="amortized"}} {{:save diff --git a/attach_cession.html b/attach_cession.html index 008a4b0..8ffe851 100644 --- a/attach_cession.html +++ b/attach_cession.html @@ -20,35 +20,13 @@ WHERE id = :line_id; :line_id = $_GET.cession_line_id|intval }} - {{:assign rebut_id=$id_transaction}} + {{:assign cession_id=$id_transaction}} {{else}} {{:error message="Impossible de trouver l'écriture de cession de l'immobilisation"}} {{/select}} -{{* chercher les liaisons de l'écriture d'immobilisation *}} -{{#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 = $ligne_immo.trans_id -}} - {{:assign var="linked_transactions." value=$linked_id}} -{{/select}} - -{{* ajouter la nouvelle liaison *}} -{{:assign var="linked_transactions." value=$rebut_id}} - -{{* Enregistrer les liaisons *}} -{{:api - method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id - assign="result" - assign_code="result_code" - transactions=$linked_transactions -}} +{{* Lier l'écriture de cession à l'écriture d'immobilisation *}} +{{:include file="_common_attach.html" immo_doc_id=$_GET.immo_doc_id trans_id=$cession_id}} {{* enregistrer la liaison de l'écriture de cession *}} {{:save diff --git a/attach_credit.html b/attach_credit.html index 5028718..1249328 100644 --- a/attach_credit.html +++ b/attach_credit.html @@ -79,30 +79,8 @@ {{/if}} {{/if}} -{{* chercher les liaisons de l'écriture d'immobilisation *}} -{{#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 = $ligne_immo.trans_id -}} - {{:assign var="linked_transactions." value=$linked_id}} -{{/select}} - -{{* ajouter la nouvelle liaison *}} -{{:assign var="linked_transactions." value=$credit_line.trans_id}} - -{{* Enregistrer les liaisons *}} -{{:api - method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id - assign="result" - assign_code="result_code" - transactions=$linked_transactions -}} + {{* Lier l'écriture de crédit à l'écriture d'immobilisation *}} + {{:include file="_common_attach.html" immo_doc_id=$_GET.immo_doc_id trans_id=$credit_line.trans_id}} {{* TODO ? vérifier le succès avant d'enregistrer le doc ? @@ -117,18 +95,19 @@ amount=$saved_credit }} + {{* {{if $montant_credit == $solde_immo}} {{:save id=$_GET.immo_doc_id status="archived" }} {{/if}} +*}} {{if $_GET.from == "exit"}} {{:redirect force="exit_step1.html?immo_doc_id=%s&ok=1&msg=attach_avoir"|args:$_GET.immo_doc_id}} {{else}} {{:redirect force="details_immo.html?immo_doc_id=%s&ok=1&msg=attach_credit"|args:$_GET.immo_doc_id}} - {{*:redirect force="amortization.html?immo_doc_id=%s&ok=1&msg=attach_avoir"|args:$_GET.immo_doc_id*}} {{/if}} {{/form}} diff --git a/attach_exit.html b/attach_exit.html index d639722..2dda568 100644 --- a/attach_exit.html +++ b/attach_exit.html @@ -25,30 +25,8 @@ {{:error message="Impossible de trouver l'écriture de sortie d'immobilisation"}} {{/select}} -{{* chercher les liaisons de l'écriture d'immobilisation *}} -{{#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 = $ligne_immo.trans_id -}} - {{:assign var="linked_transactions." value=$linked_id}} -{{/select}} - -{{* ajouter la nouvelle liaison *}} -{{:assign var="linked_transactions." value=$rebut_id}} - -{{* Enregistrer les liaisons *}} -{{:api - method="POST" - path="accounting/transaction/%s/transactions"|args:$ligne_immo.trans_id - assign="result" - assign_code="result_code" - transactions=$linked_transactions -}} +{{* Lier l'écriture de sortie à l'écriture d'immobilisation *}} +{{:include file="_common_attach.html" immo_doc_id=$_GET.immo_doc_id trans_id=$rebut_id}} {{* enregistrer la liaison de l'écriture de sortie *}} {{:save