Séparation immobilisations amortissables ou pas

This commit is contained in:
Jean-Christophe Engel 2024-12-23 12:03:00 +01:00
parent 66859c550e
commit d599d49e1a
7 changed files with 264 additions and 126 deletions

View file

@ -9,7 +9,8 @@
{{* Traiter l'envoi du formulaire *}}
{{#form on="add"}}
{{* chercher la date d'achat de l'immobilisation *}}
{{* chercher la date d'acquisition de l'immobilisation *}}
{{:assign var="immo_id" value=$_GET.immo_id|intval}}
{{#select
trans.date as date_achat
@ -21,35 +22,55 @@
}}
{{/select}}
{{* vérifier que la date d'acquisition est antérieure à la date de mise en service *}}
{{:assign date_debut=$_POST.date_mes|or:$ligne_immo.date_achat|parse_date}}
{{if $date_debut|strtotime < $ligne_immo.date_achat|strtotime}}
{{:assign dd=$date_debut|date_short}}
{{:assign da=$ligne_immo.date_achat|date_short}}
{{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}}
{{if $_POST.no_amort}}
{{* ne pas amortir *}}
{{:assign duration=0}}
{{:assign date_debut=$ligne_immo.date_achat|parse_date}}
{{:assign noamort=true}}
{{else}}
{{* vérifier que la date d'acquisition est antérieure à la date de mise en service *}}
{{:assign date_debut=$_POST.date_mes|or:$ligne_immo.date_achat|parse_date}}
{{if $date_debut|strtotime < $ligne_immo.date_achat|strtotime}}
{{:assign dd=$date_debut|date_short}}
{{:assign da=$ligne_immo.date_achat|date_short}}
{{:error message="Erreur : la date de mise en service (%s) ne peut être antérieure à la date d'acquisition (%s)"|args:$dd:$da}}
{{/if}}
{{:assign duration=$_POST.duree|intval}}
{{:assign noamort=false}}
{{/if}}
{{:assign key=""|uuid}}
{{* enregistrer les infos de l'immobilisation *}}
{{:assign key=""|uuid}}
{{:save
key=$key
validate_schema="schema.json"
type="immo"
line=$immo_id
duration=$_POST.duree|intval
duration=$duration
date=$date_debut
noamort=$noamort
}}
{{:redirect force="index.html?ok=1&msg=durée"}}
{{:redirect force="index.html?ok=1&msg=infos"}}
{{else}}
{{:form_errors}}
{{/form}}
{{* renseigner la date de mise en service et durée d'amortissement *}}
{{if $_GET.amort == 0}}
{{:assign checked=1}}
{{:assign disabled=1}}
{{else}}
{{:assign checked=0}}
{{:assign disabled=0}}
{{/if}}
<form method="post" action="">
<fieldset class="ajout_duree">
<legend>Renseigner informations amortissement</legend>
<fieldset id="infos_immo">
<legend></legend>
<dl>
{{: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="number" name="duree" label="Durée d'amortissement" required=true default=1}}
{{:input id="no_amort" type="checkbox" value=1 name="no_amort" label="Ne pas amortir" default=$checked help="Cocher pour ne pas amortir" onclick="toggleInputs('infos_immo','f_no_amort_1')"}}
{{:input type="date" name="date_mes" label="Date de mise en service" disabled=$disabled help="à renseigner uniquement si différente de la date d'acquisition"}}
{{:input type="number" name="duree" label="Durée d'amortissement" required=true default=1 disabled=$disabled}}
</dl>
</fieldset>
@ -59,5 +80,22 @@
</form>
{{:form_errors}}
{{* activer/désactiver les champs de saisie *}}
<script type="text/javascript">
function toggleInputs(idfs, idcb) {
console.log("cb=" + idcb);
const noamort = document.getElementById(idcb);
const fs = document.getElementById(idfs);
for (let field of fs.querySelectorAll("input")) {
if (field == noamort) { continue }
if (noamort.checked) {
field.setAttribute("disabled","disabled");
}
else {
field.removeAttribute("disabled");
}
}
}
</script>
{{:admin_footer}}