diff --git a/add_asset.html b/add_asset.html index 8815c09..78db190 100644 --- a/add_asset.html +++ b/add_asset.html @@ -9,6 +9,46 @@ {{* Traiter l'envoi du formulaire *}} {{#form on="add"}} + {{* vérifier que la date est située dans un exercice ouvert *}} + {{:assign open_years=""}} + {{#years closed=false}} + {{:assign open_years=$open_years|cat:"\n"|cat:" - "|cat:$label|cat:" : "}} + {{:assign debut=$start_date|date_short}} + {{:assign fin=$end_date|date_short}} + {{:assign open_years=$open_years|cat:$debut|cat:" à "|cat:$fin}} + {{if $start_date|strtotime <= $_POST.date|parse_date|strtotime && $end_date|strtotime >= $_POST.date|parse_date|strtotime}} + {{:assign selected_year=$id}} + {{:assign selected_chart=$id_chart}} + {{/if}} + {{/years}} + {{if $selected_year == null}} + {{:assign message="La date choisie n'est dans aucun exercice ouvert !!\nExercices ouverts : %s"|args:$open_years}} + {{:error message=$message}} + {{/if}} + + {{* vérifier : + - que le compte d'immo débute par 20 ou 21 + - est présent dans le PC de l'exercice correspondant à la date + *}} + {{#select + code + FROM acc_accounts + WHERE id_chart =:id_chart + AND + (code LIKE "20%" OR code LIKE "21%"); + :id_chart = $selected_chart|intval + }} + {{if $_POST.debit_account|has_key:$code}} + {{:assign account_ok=1}} + {{:break}} + {{/if}} + {{/select}} + + {{if $account_ok == null}} + {{:assign compte=$_POST.debit_account|implode:""}} + {{:error message="Le compte « %s » n'est pas un compte d'immobilisation ou n'est pas dans le plan comptable de l'exercice choisi"|args:$compte}} + {{/if}} + {{* enregistrer l'écriture *}} {{:assign var="credit_accounts" value=$_POST.credit_account|keys}} {{:assign var="credit_account" value=$credit_accounts.0}} @@ -19,7 +59,7 @@ method="POST" path="accounting/transaction" assign="result" - id_year=$_POST.id_year + id_year=$selected_year type="revenue" date=$_POST.date label=$_POST.designation @@ -43,17 +83,10 @@ {{:redirect force="index.html?ok=1&msg=immobilisation"}} {{/form}} -{{* Préparer les infos pour le formulaire *}} - -{{:assign var="bank_account.512A" value="512A — Compte courant"}} -{{#years closed=false}} - {{:assign var="open_years.%d"|args:$id value=$label}} - {{if $start_date|strtotime <= $now && $end_date|strtotime >= $now}} - {{:assign best_year=$id}} - {{/if}} -{{/years}} +{{:form_errors}} {{* formulaire d'ajout d'immobilisation *}} +{{:assign var="bank_account.512A" value="512A — Compte courant"}} {{* TODO @@ -68,7 +101,6 @@