From 847a5f58ba442447c8f6358311eb345b6194948f Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Tue, 23 Jun 2026 11:11:12 +0200 Subject: [PATCH 1/8] =?UTF-8?q?Valeurs=20par=20d=C3=A9faut=20param=C3=A8tr?= =?UTF-8?q?es=20immo=20=C3=A0=20classer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- add_infos.html | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/add_infos.html b/add_infos.html index c4d5b39..6e5fe46 100644 --- a/add_infos.html +++ b/add_infos.html @@ -9,14 +9,8 @@ {{: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}} -{{/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}} +{{/load}} {{#select trans.id as immo_trans_id, @@ -37,6 +31,12 @@ {{: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,7 +177,9 @@
Immobilisation
-
#{{$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}}
+
+ #{{$ligne_immo.immo_trans_id}} {{$immo_label}} +
Montant
{{"%f"|math:$ligne_immo.montant|money_currency_html:false|raw}}
{{if $montant_affecte > 0}} @@ -211,9 +213,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" 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"}} + {{: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"}}
From 4bdb38eca1745c18eb938eaf8b05c0339b25e6cb Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Wed, 24 Jun 2026 11:50:38 +0200 Subject: [PATCH 2/8] =?UTF-8?q?Config=20:=20s=C3=A9curisation=20comptes=20?= =?UTF-8?q?par=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.html | 21 +++++++++++++-------- scripts.js | 46 +++++++++++++++++++++++++++++++++++----------- 2 files changed, 48 insertions(+), 19 deletions(-) diff --git a/config.html b/config.html index 50f295b..6021580 100644 --- a/config.html +++ b/config.html @@ -46,6 +46,7 @@ {{/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.

@@ -154,13 +155,14 @@ }} + {{if ! $code|in:$config_defaut.prefixes}} {{:button label="Enlever" - title="Enlever une ligne" shape="minus" min="1" name="remove_line" }} + {{/if}} {{/foreach}} @@ -187,6 +189,7 @@ + {{:assign unfinished_lines=$config_defaut.unfinished|map:implode:"-"|implode:","}} {{#foreach from=$unfinished_accounts key=code item=elem}} @@ -200,13 +203,15 @@ }} - {{:button - label="Enlever" - title="Enlever une ligne" - shape="minus" - min="1" - name="remove_line" - }} + {{if $unfinished_lines|strpos:$code === false}} + {{:button + label="Enlever" + title="Enlever une ligne" + shape="minus" + min="1" + name="remove_line" + }} + {{/if}} {{/foreach}} diff --git a/scripts.js b/scripts.js index 0521809..3def0ba 100644 --- a/scripts.js +++ b/scripts.js @@ -145,19 +145,21 @@ function setSelectorYear(button_names, f_years_selector) // Associer au bouton « Enlever » de chaque ligne l'action de suppression de la ligne function initLine(row) { - var removeBtn = row.querySelector('button[name="remove_line"]'); - removeBtn.onclick = () => { - let count = removeBtn.closest("table").querySelectorAll('tbody tr').length; - var min = removeBtn.getAttribute('min'); + 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'); - 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 @@ -185,6 +187,28 @@ 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); From 669f036071558aea11e0ad54ab264ee92aa3a30a Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Thu, 25 Jun 2026 09:48:55 +0200 Subject: [PATCH 3/8] Suppression code inutile --- other_amortizations.html | 5 ----- 1 file changed, 5 deletions(-) diff --git a/other_amortizations.html b/other_amortizations.html index 45488ca..d606d87 100644 --- a/other_amortizations.html +++ b/other_amortizations.html @@ -87,11 +87,6 @@ {{#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}} From c394f1a89489e9b53adf2e8aecb5f14fa0a48205 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Fri, 26 Jun 2026 12:00:06 +0200 Subject: [PATCH 4/8] =?UTF-8?q?Am=C3=A9lioration=20pr=C3=A9sentation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- amortization.html | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/amortization.html b/amortization.html index 97ded50..085edd3 100644 --- a/amortization.html +++ b/amortization.html @@ -148,12 +148,14 @@
-

Avoirs

- +{{if $valeur_residuelle > 0 || $linked_immos != null}} +

Avoirs

+ +{{/if}} {{if $linked_immos != null}} From 73b0dff14d32c2bc578efe92eb45afee6ba16dce Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Mon, 29 Jun 2026 10:48:21 +0200 Subject: [PATCH 5/8] =?UTF-8?q?Ajout=20valeurs=20par=20d=C3=A9faut=20modif?= =?UTF-8?q?ication=20immo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modify_infos.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modify_infos.html b/modify_infos.html index 7694e83..0378939 100644 --- a/modify_infos.html +++ b/modify_infos.html @@ -14,6 +14,8 @@ {{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"}} @@ -186,16 +188,16 @@
- Paramètres de l'amortissement + Informations
{{: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=$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"}} + {{: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"}}

From 47a610db100dbda27c74376884e083cb5ab7bb09 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Mon, 29 Jun 2026 10:48:40 +0200 Subject: [PATCH 6/8] Correction erreur url immobilisation --- other_amortizations.html | 1 + 1 file changed, 1 insertion(+) diff --git a/other_amortizations.html b/other_amortizations.html index d606d87..5a69be2 100644 --- a/other_amortizations.html +++ b/other_amortizations.html @@ -60,6 +60,7 @@ +{{:assign trans_url="%s/acc/transactions/details.php?id=%s"|args:$admin_url:$ligne_immo.trans_id}}

From f2d351d4bd31e9a89b5c3f43a1716c04a53fb765 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Mon, 29 Jun 2026 11:03:04 +0200 Subject: [PATCH 7/8] =?UTF-8?q?Correction=20valeurs=20immobilisation=20aff?= =?UTF-8?q?ich=C3=A9es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- other_amortizations.html | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/other_amortizations.html b/other_amortizations.html index 5a69be2..61f870f 100644 --- a/other_amortizations.html +++ b/other_amortizations.html @@ -11,10 +11,16 @@ {{: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 *}} @@ -67,9 +73,9 @@
Immobilisation
#{{$ligne_immo.trans_id}} {{$label_immo}}
Montant
-
{{"%f"|math:$ligne_immo.amount|money_currency_html:false|raw}}
-
Date de l'immobilisation
-
{{$ligne_immo.date_achat|date_short}}
+
{{"%f"|math:$montant_immo|money_currency_html:false|raw}}
+
Début d'amortissement
+
{{$date_mes|date_short}}
From 8a4ecc50c2fd189abfd7911899a68d7c244f2d9e Mon Sep 17 00:00:00 2001 From: Jean-Christophe Engel Date: Mon, 29 Jun 2026 11:04:02 +0200 Subject: [PATCH 8/8] =?UTF-8?q?Suppression=20code=20erron=C3=A9=20et=20inu?= =?UTF-8?q?tile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modify_infos.html | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/modify_infos.html b/modify_infos.html index 0378939..174d1a4 100644 --- a/modify_infos.html +++ b/modify_infos.html @@ -95,44 +95,6 @@ {{: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 @@ -150,7 +112,6 @@ {{: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"}}