{{#restrict section="accounting" level="write" block=true}}{{/restrict}} {{#load assign="claim" key=$_GET.claim}} {{else}} {{:error message="Cette note de frais n'existe pas"}} {{/load}} {{if $claim.status !== 'payable'}} {{:error message="Cette note de frais n'est pas en attente de paiement: %s"|args:$claim.status}} {{/if}} {{#transactions id=$claim.id_transaction}} {{:assign total=$debit}} {{:assign default_year=$id_year}} {{#transaction_lines transaction=$id where="credit > 0" limit=1}} {{:assign debit_account=$account_code}} {{/transaction_lines}} {{/transactions}} {{if $claim.payments|count}} {{#transactions id=$claim.payments}} {{:assign total="%d-%d"|math:$total:$credit}} {{/transactions}} {{/if}} {{#form on="save"}} {{:assign var="lines." credit=$_POST.amount account=$_POST.account|keys|key:0}} {{:assign var="lines." debit=$_POST.amount account=$debit_account}} {{:api method="POST" path="accounting/transaction" assign="result" id_year=$_POST.id_year|intval type="advanced" date=$_POST.date label=$_POST.label reference="Remboursement NDF-%d"|args:$claim.number linked_users=$claim.user_id lines=$lines linked_transactions=$claim.id_transaction|intval }} {{:assign amount=$_POST.amount|money_int}} {{if "%d-%d"|math:$total:$amount <= 0}} {{* Nothing left to pay *}} {{:assign new_status="paid"}} {{else}} {{:assign new_status=$claim.status}} {{/if}} {{:assign var="claim.payments." value=$result.id}} {{:save validate_schema="./claim.schema.json" payments=$claim.payments key=$claim.key status=$new_status }} {{:redirect to="./details.html?key=%s"|args:$claim.key}} {{/form}} {{if $claim.label}} {{:assign default_label="Remboursement note de frais n°%d : %s"|args:$claim.number:$claim.label}} {{else}} {{:assign default_label="Remboursement note de frais n°%d"|args:$claim.number}} {{/if}} {{#years closed=false}} {{:assign var="open_years.%d"|args:$id value=$label}} {{if $start_date <= $now && $end_date >= $now}} {{:assign best_year=$id}} {{/if}} {{/years}} {{if !$open_years|count}} {{:error message="Aucun exercice n'est ouvert, il n'est pas possible de créer une écriture et donc d'accepter cette note de frais."}} {{/if}} {{if !$default_year|key_in:$open_years}} {{:assign default_year=null}} {{/if}} {{:assign default_year=$default_year|or:$best_year}} {{:admin_header title="Nouveau paiement"}} {{:form_errors}}
Nouveau paiement de remboursement
{{:input type="select" default=$default_year name="id_year" label="Exercice" required=true options=$open_years}} {{:input type="date" default=$now name="date" label="Date" required=true}} {{:input type="text" default=$default_label name="label" label="Libellé" required=true}} {{:input type="money" name="amount" label="Montant" required=true default=$total}} {{:input type="list" name="account" label="Compte de paiement" required=true target="!acc/charts/accounts/selector.php?types=1|2|3&key=code&id_year=%d"|args:$default_year}}

{{:button type="submit" shape="right" label="Enregistrer" name="save" class="main"}}

{{:admin_footer}}