Gestion des attachements avec écritures liées
This commit is contained in:
parent
77aac6fd4a
commit
7d829bbf9c
3 changed files with 60 additions and 91 deletions
|
|
@ -1,33 +1,61 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{*
|
||||
Enregistrer l'association entre une écriture d'amortissement et
|
||||
Enregistrer la liaison entre une écriture d'amortissement et
|
||||
l'écriture d'immobilisation correspondante
|
||||
Comme je ne sais pas créer une ligne dans acc_transactions_links
|
||||
j'enregistre les associations dans un document json
|
||||
*}}
|
||||
|
||||
{{* trouver l'entrée correspondant à l'immobilisation *}}
|
||||
|
||||
{{* TODO : améliorer le message d'erreur *}}
|
||||
{{#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 ; avez-vous renseigné la durée d'immobilisation ?"|args:$_GET.immo_id}}
|
||||
{{:error message=$message}}
|
||||
{{/load}}
|
||||
|
||||
|
||||
{{* Ajouter la nouvelle ligne d'amortissement aux lignes existantes *}}
|
||||
|
||||
{{:assign var="assoc." value=$_GET.amort_id|intval}}
|
||||
|
||||
{{* Enregistrer les infos *}}
|
||||
{{:save
|
||||
key=$info_immo.key
|
||||
validate_schema="schema.json"
|
||||
type="immo"
|
||||
line=$info_immo.line
|
||||
duration=$info_immo.duration
|
||||
amort=$assoc
|
||||
{{* chercher l'écriture d'immobilisation *}}
|
||||
{{#select
|
||||
id_transaction
|
||||
FROM acc_transactions_lines
|
||||
WHERE id = :line_id;
|
||||
:line_id = $_GET.immo_id|intval
|
||||
}}
|
||||
{{:assign immo_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}}
|
||||
{{/select}}
|
||||
|
||||
{{* 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}}
|
||||
{{* 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}}
|
||||
{{/select}}
|
||||
|
||||
{{* checher les liaisons de l'écriture d'immobilisation *}}
|
||||
{{#select
|
||||
CASE links.id_related = :immo_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
|
||||
}}
|
||||
{{:assign var="linked_transactions." value=$linked_id}}
|
||||
{{/select}}
|
||||
|
||||
{{* ajouter la nouvelle liaison *}}
|
||||
{{:assign var="linked_transactions." value=$amort_id}}
|
||||
|
||||
{{* Enregistrer les liaisons *}}
|
||||
{{:api
|
||||
method="POST"
|
||||
path="accounting/transaction/%s/transactions"|args:$immo_id
|
||||
assign="result"
|
||||
assign_code="result_code"
|
||||
linked_transactions=$linked_transactions
|
||||
}}
|
||||
|
||||
{{:redirect to="amortization.html?immo_id=%s&ok=1&msg=attach"|args:$_GET.immo_id}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue