diff --git a/_common_detach.html b/_common_detach.html index 8c84736..2c730c8 100644 --- a/_common_detach.html +++ b/_common_detach.html @@ -7,7 +7,7 @@ *}} {{* données de l'immobilisation *}} -{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="info_immo, ligne_immo, message"}} +{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id|intval keep="ligne_immo, message"}} {{if $message != null}} {{:error message=$message}} {{/if}} diff --git a/add_infos.html b/add_infos.html index 6e5fe46..c4d5b39 100644 --- a/add_infos.html +++ b/add_infos.html @@ -9,8 +9,14 @@ {{:assign montant_affecte=0}} {{#load type="immo" where="$$.line = :line_id" :line_id=$_GET.immo_line_id|intval assign="info_immo"}} {{:assign montant_affecte="%d+%d"|math:$montant_affecte:$amount}} - {{:assign choix_defaut=$info_immo.status}} {{/load}} +{{if $info_immo != null}} + {{:assign date_defaut=$info_immo.date}} + {{:assign duree_defaut=$info_immo.duration}} + {{:assign choix_defaut=$info_immo.status}} +{{else}} + {{:assign duree_defaut=null}} +{{/if}} {{#select trans.id as immo_trans_id, @@ -31,12 +37,6 @@ {{:error message="Immobilisation non trouvée"}} {{/select}} {{:assign reste="%d-%d"|math:$ligne_immo.montant:$montant_affecte}} -{{:assign date_achat_defaut=$info_immo.date_achat|or:$ligne_immo.date_achat}} -{{:assign date_mes_defaut=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} -{{:assign immo_label=$ligne_immo.trans_label}} -{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $ligne_immo.trans_label}} - {{:assign immo_label=$immo_label|cat:" — "|cat:$ligne_immo.line_label}} -{{/if}} {{#form on="save"}} {{if $_POST.classify == null}} @@ -177,9 +177,7 @@
Immobilisation
-
- #{{$ligne_immo.immo_trans_id}} {{$immo_label}} -
+
#{{$ligne_immo.immo_trans_id}} {{$ligne_immo.trans_label}}{{if $ligne_immo.line_label != null && $ligne_immo.line_label != $ligne_immo.trans_label}} — {{$ligne_immo.line_label}}{{/if}}
Montant
{{"%f"|math:$ligne_immo.montant|money_currency_html:false|raw}}
{{if $montant_affecte > 0}} @@ -213,9 +211,9 @@
{{:input type="number" name="duree" label="Durée d'amortissement" required=true min=1 suffix="année(s)"}} {{:input type="money" name="montant" label="Montant de l'immobilisation" required=true default=$reste help="à modifier si différent du montant de l'écriture d'immobilisation"}} - {{:input type="date" name="date_achat" label="Date d'acquisition" default=$date_achat_defaut help="à modifier si nécessaire"}} - {{:input type="date" name="date_mes" label="Date de mise en service" default=$date_mes_defaut help="à modifier si différente de la date d'acquisition"}} - {{:input type="text" name="libelle" label="Libellé" default=$immo_label help="à modifier si nécessaire"}} + {{:input type="date" name="date_achat" label="Date d'acquisition" help="à renseigner uniquement si différente de la date de l'écriture d'immobilisation"}} + {{:input type="date" name="date_mes" label="Date de mise en service" help="à renseigner uniquement si différente de la date d'acquisition"}} + {{:input type="text" name="libelle" label="Libellé" help="à renseigner uniquement si différent du libellé de l'écriture d'immobilisation"}}
diff --git a/amortization.html b/amortization.html index 085edd3..a3378b2 100644 --- a/amortization.html +++ b/amortization.html @@ -148,14 +148,12 @@
-{{if $valeur_residuelle > 0 || $linked_immos != null}} -

Avoirs

- -{{/if}} +

Avoirs

+ {{if $linked_immos != null}} diff --git a/config.html b/config.html index eec7baf..50f295b 100644 --- a/config.html +++ b/config.html @@ -46,7 +46,6 @@ {{/form}} {{:admin_header title="Configuration" custom_css="./style.css" current="module_amortization"}} - {{:include file="_nav.html" current="config"}} {{if $_GET.ok == 1}}

Configuration enregistrée.

@@ -155,14 +154,13 @@ }} {{/foreach}} @@ -189,7 +187,6 @@ - {{:assign unfinished_lines=$config_defaut.unfinished|map:implode:"-"|implode:","}} {{#foreach from=$unfinished_accounts key=code item=elem}} {{/foreach}} diff --git a/detach_amort.html b/detach_amort.html index b058716..eba97ee 100644 --- a/detach_amort.html +++ b/detach_amort.html @@ -7,7 +7,8 @@ @param amort_line_id : id de la ligne d'amortissement *}} -{{:include file="_common_detach.html" immo_doc_id=$_GET.immo_doc_id line_id=$_GET.amort_line_id keep="info_immo"}} +{{:include file="_common_detach.html" immo_doc_id=$_GET.immo_doc_id line_id=$_GET.amort_line_id}} + {{* supprimer le doc de liaison entre les lignes *}} {{#load type="amort_link" where="$$.immo_doc_id = :immo_doc_id AND $$.amort_line_id = :amort_line_id" @@ -18,12 +19,11 @@ {{/load}} {{* marquer immo non soldée *}} -{{if $info_immo.status == "amortized"}} - {{:save - key=$info_immo.key - status="managed" - }} -{{/if}} +{{* TODO : À VÉRIFIER *}} +{{:save + key=$info_immo.key + status="managed" +}} {{if $_GET.from == "exit"}} {{:redirect force="exit_step2.html?immo_doc_id=%s&ok=1&msg=detach_amort"|args:$_GET.immo_doc_id}} diff --git a/exit_step4.html b/exit_step4.html index 7868913..f377496 100644 --- a/exit_step4.html +++ b/exit_step4.html @@ -44,24 +44,6 @@ {{* lister les amortissements liés à l'immobilisation *}} {{:include file="./_get_amort_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_amort, total_amort"}} -{{* chercher une écriture de cession associée *}} -{{#load type="cession_link" - where="$$.immo_doc_id = :immo_doc_id" - :immo_doc_id = $_GET.immo_doc_id|intval - }} - {{if $amount == null || $amount == 0}} - {{#select credit - FROM acc_transactions_lines - WHERE id = :cession_line_id; - :cession_line_id = $cession_line_id - }} - {{:assign montant_cession=$credit}} - {{/select}} - {{else}} - {{:assign montant_cession=$amount}} - {{/if}} -{{/load}} - {{* chercher une écriture de sortie de bilan associée *}} {{#load type="exit_link" where="$$.immo_doc_id = :immo_doc_id" :immo_doc_id=$info_immo.id assign="exit_info"}} {{/load}} @@ -218,10 +200,6 @@
Valeur nette résiduelle
{{"%d-%d"|math:$solde:$total_amort|money_currency_html:false|raw}}
{{/if}} - {{if $montant_cession > 0}} -
Montant de la cession
-
{{$montant_cession|money_currency_html:false|raw}}
- {{/if}} diff --git a/link_immo.html b/link_immo.html index 43be090..557b0e8 100644 --- a/link_immo.html +++ b/link_immo.html @@ -18,11 +18,7 @@ {{* lister les écritures au crédit du compte de l'immobilisation *}} -{{if $_GET.filter}} - {{:assign account_code=$ligne_immo.account_code|cat:"%"}} -{{else}} - {{:assign account_code=$ligne_immo.account_code|substr:0:2|cat:"%"}} -{{/if}} +{{:assign account_code=$ligne_immo.account_code|cat:"%"}} {{#select line.id as credit_line_id, line.id_transaction as credit_trans_id, @@ -65,32 +61,23 @@ }} {{/if}} - -
+
+ + Écritures au crédit du compte d'immobilisation « {{$ligne_immo.account_code}} » et sous-comptes + +
Immobilisation
#{{$ligne_immo.trans_id}} {{$label_immo}}
Montant
{{"%f"|math:$ligne_immo.amount|money_currency_html:false|raw}}
-
Date de l'immobilisation
+
Date de l'écriture d'immobilisation
{{$ligne_immo.date_achat|date_short}}
+
{{if $other_immos != null}}
- {{if ! $code|in:$config_defaut.prefixes}} - {{:button - label="Enlever" - shape="minus" - min="1" - name="remove_line" - }} - {{/if}} + {{:button + label="Enlever" + title="Enlever une ligne" + shape="minus" + min="1" + name="remove_line" + }}
@@ -203,15 +200,13 @@ }} - {{if $unfinished_lines|strpos:$code === false}} - {{:button - label="Enlever" - title="Enlever une ligne" - shape="minus" - min="1" - name="remove_line" - }} - {{/if}} + {{:button + label="Enlever" + title="Enlever une ligne" + shape="minus" + min="1" + name="remove_line" + }}
@@ -124,8 +111,8 @@ {{/foreach}} -

Sélectionner une écriture d'avoir ou autre réduction du montant de l'acquisition pour l'associer à l'immobilisation

+

Sélectionner une écriture d'avoir ou autre réduction du montant de l'acquisition pour l'associer à l'immobilisation

{{else}}

Aucune écriture au crédit du compte « {{$ligne_immo.account_code}} »

{{/if}} diff --git a/modify_infos.html b/modify_infos.html index 174d1a4..7694e83 100644 --- a/modify_infos.html +++ b/modify_infos.html @@ -14,8 +14,6 @@ {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $immo_label}} {{:assign immo_label=$immo_label|cat:" — "|cat:$ligne_immo.line_label}} {{/if}} -{{:assign date_achat_defaut=$info_immo.date_achat|or:$ligne_immo.date_achat}} -{{:assign date_mes_defaut=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} {{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} {{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_immos, total_credits"}} @@ -95,6 +93,44 @@ {{:assign status="managed"}} + {{* écritures de crédit *}} + {{#foreach from=$linked_immos item="line"}} + {{if ! $_POST.credit_id|has:$line.trans_id}} + {{:assign var="docs_to_remove." value=$line.doc}} + {{:assign var="links_to_remove." value=$line.trans_id}} + {{/if}} + {{/foreach}} + + {{if $docs_to_remove != null}} + {{:assign remove_set=$docs_to_remove|implode:","}} + {{:assign remove_set="("|cat:$remove_set|cat:")"}} + {{:delete where="id IN %s"|args:$remove_set}} + + {{* idem avec acc_transactions_links *}} + {{#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 + }} + {{if ! $linked_id|in:$links_to_remove}} + {{:assign var="linked_transactions." value=$linked_id}} + {{/if}} + {{/select}} + + {{* 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 + }} + {{/if}} + {{* enregistrer les infos de l'immobilisation *}} {{:save key=$info_immo.key @@ -112,6 +148,7 @@ {{:assign type_immo="managed"}} {{:redirect force="amortization.html?immo_doc_id=%s&type_immo=%s&ok=1&msg=modif"|args:$_GET.immo_doc_id:$type_immo}} + {{/form}} {{:admin_header title="Modifier l'immobilisation" custom_css="./style.css" current="module_amortization"}} @@ -149,16 +186,16 @@
- Informations + Paramètres de l'amortissement
{{:input type="number" name="duree" label="Durée d'amortissement" min=1 default=$info_immo.duration suffix="année(s)"}} {{if $info_immo.amount != null}} {{:assign max_aff="%f"|math:$max_disponible|money_currency:false}} {{:input type="money" name="montant" label="Montant de l'immobilisation" default=$montant_immo help="Montant maximum : %s"|args:$max_aff}} {{/if}} - {{:input type="date" name="date_achat" label="Date d'acquisition" default=$date_achat_defaut help="si différente de la date de l'écriture d'immobilisation"}} - {{:input type="date" name="date_mes" label="Date de mise en service" default=$date_mes_defaut help="si différente de la date d'acquisition"}} - {{:input type="text" name="libelle" label="Libellé" default=$immo_label help="si différent du libellé de l'écriture d'immobilisation"}} + {{:input type="date" name="date_achat" label="Date d'acquisition" default=$info_immo.date_achat help="si différente de la date de l'écriture d'immobilisation"}} + {{:input type="date" name="date_mes" label="Date de mise en service" default=$info_immo.date_mes help="si différente de la date d'acquisition"}} + {{:input type="text" name="libelle" label="Libellé" default=$info_immo.label help="si différent du libellé de l'écriture d'immobilisation"}}

diff --git a/other_amortizations.html b/other_amortizations.html index 61f870f..8716a25 100644 --- a/other_amortizations.html +++ b/other_amortizations.html @@ -11,16 +11,10 @@ {{:error message=$message}} {{/if}} -{{:assign montant_immo=$info_immo.amount|or:$ligne_immo.amount}} {{:assign label_immo=$info_immo.label|or:$ligne_immo.trans_label}} {{if $ligne_immo.line_label != null && $ligne_immo.line_label != $label_immo}} {{:assign label_immo=$label_immo|cat:" — "|cat:$ligne_immo.line_label}} {{/if}} -{{:assign date_mes=$info_immo.date_mes|or:$info_immo.date_achat|or:$ligne_immo.date_achat}} - -{{* déduire le montant des écritures liées à l'immo courante au crédit du même compte *}} -{{:include file="_get_credit_lines.html" immo_doc_id=$_GET.immo_doc_id keep="linked_immos, total_credits"}} -{{:assign montant_immo="%d-%d"|math:$montant_immo:$total_credits}} {{if $_GET.filter}} {{* déterminer le compte d'amortissement en fonction du compte d'immobilisation *}} @@ -66,20 +60,9 @@ -{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}} -

-
-
-
Immobilisation
-
#{{$ligne_immo.trans_id}} {{$label_immo}}
-
Montant
-
{{"%f"|math:$montant_immo|money_currency_html:false|raw}}
-
Début d'amortissement
-
{{$date_mes|date_short}}
-
-
- - {{if $free_amort_lines != null}} +{{if $free_amort_lines != null}} +
+

Immobilisation « {{$label_immo}} »

@@ -94,6 +77,11 @@ {{#foreach from=$free_amort_lines item="line"}} +{{* + {{if $_GET.filter && $line.account_code != $code_amort}} + {{:continue}} + {{/if}} +*}} {{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$line.trans_id}} {{:assign compte_url="%s/acc/accounts/journal.php?id=%s&year=%s"|args:$admin_url:$line.account_id:$line.year}} @@ -118,12 +106,11 @@ {{/foreach}} -

Sélectionner une écriture d'amortissement pour l'associer à l'immobilisation

- {{else}} -

Aucun amortissement pour le compte {{$code_amort}}

- {{/if}} -
+
+{{else}} +

Aucun amortissement pour le compte {{$code_amort}}

+{{/if}} {{:form_errors}} diff --git a/scripts.js b/scripts.js index 3def0ba..0521809 100644 --- a/scripts.js +++ b/scripts.js @@ -145,21 +145,19 @@ function setSelectorYear(button_names, f_years_selector) // Associer au bouton « Enlever » de chaque ligne l'action de suppression de la ligne function initLine(row) { - let removeBtn = row.querySelector('button[name="remove_line"]'); - if (removeBtn != null) { - removeBtn.onclick = () => { - let count = removeBtn.closest("table").querySelectorAll('tbody tr').length; - var min = removeBtn.getAttribute('min'); + var removeBtn = row.querySelector('button[name="remove_line"]'); + removeBtn.onclick = () => { + let count = removeBtn.closest("table").querySelectorAll('tbody tr').length; + var min = removeBtn.getAttribute('min'); - if (count <= min) { - alert("Il n'est pas possible d'avoir moins de " + min + " ligne(s)."); - return false; - } + if (count <= min) { + alert("Il n'est pas possible d'avoir moins de " + min + " ligne(s)."); + return false; + } - row.parentNode.removeChild(row); - return true; - }; - } + row.parentNode.removeChild(row); + return true; + }; } // Associer au bouton « Ajouter » de chaque table l'action d'ajouter une ligne @@ -187,28 +185,6 @@ function addLine(button, codes) { let lib = newNode.querySelector('.input-list span.label'); lib.innerText = ''; - // si besoin, ajouter le bouton de suppression - let action_cell = newNode.querySelector('td.actions'); - let removeBtn = newNode.querySelector('button[name="remove_line"]'); - if (removeBtn == null) { - const attributs = { - "title" : "Enlever une ligne", - "min": "1", - "name": "remove_line", - "data-icon": "➖", - "type": "button", - "class": "icn-btn", - "value": "1", - "aria-label": "Enlever une ligne" - }; - let new_button = document.createElement("button"); - new_button.appendChild(document.createTextNode("Enlever")); - for (let attr in attributs) { - new_button.setAttribute(attr, attributs[attr]); - } - action_cell.appendChild(new_button); - } - // ajouter la nouvelle ligne line.parentNode.appendChild(newNode); initLine(newNode); diff --git a/transfer.html b/transfer.html index 6a491b1..17d3b31 100644 --- a/transfer.html +++ b/transfer.html @@ -181,7 +181,6 @@ duration=$duration date_mes=null status=$status - created=true }} {{if $_POST.amortir}} {{:assign type_immo="managed"}} diff --git a/write_exit.html b/write_exit.html index cfd4a3a..beb6e68 100644 --- a/write_exit.html +++ b/write_exit.html @@ -142,7 +142,6 @@ type="amort_link" immo_doc_id=$info_immo.id amort_line_id=$line.id - created=true }} {{/if}} {{/foreach}} @@ -208,7 +207,6 @@ type="exit_link" immo_doc_id=$info_immo.id exit_line_id=$line.id - created=true }} {{:break}} {{/if}} @@ -254,7 +252,6 @@ type="cession_link" immo_doc_id=$info_immo.id cession_line_id=$line.id - created=true }} {{:break}} {{/if}}