{{#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 !== 'waiting'}} {{:error message="Cette note de frais n'est pas en attente de validation: %s"|args:$claim.status}} {{/if}} {{#form on="save"}} {{:assign total=0}} {{:assign var="upload_path" value="%s/%s"|args:$module.storage_root:$claim.key}} {{#foreach from=$_POST.lines|array_transpose}} {{:assign var="lines." debit=$amount label=$label account=$account|keys|key:0 id_project=$id_project}} {{:assign amount=$amount|money_int}} {{:assign total="%d+%d"|math:$amount:$total}} {{/foreach}} {{if !$total}} {{:error message="Cette note de frais ne comporte aucune ligne"}} {{/if}} {{if !$_POST.label|trim}} {{:error message="Le libellé doit être renseigné."}} {{/if}} {{:assign var="lines." credit=$total|money_raw account=$_POST.account|keys|key:0 label="Dette envers le membre"}} {{:api method="POST" path="accounting/transaction" assign="result" id_year=$_POST.id_year|intval type="advanced" date=$_POST.date label=$_POST.label|trim reference="NDF-%d"|args:$claim.number lines=$lines notes=$_POST.notes|trim|or:null linked_users=$claim.user_id move_attachments_from=$upload_path }} {{:save key=$claim.key status="payable" id_transaction=$result.id}} {{#users id=$claim.user_id}} {{if !$_email}} {{:break}} {{/if}} {{:include file="./messages/accept.txt" capture="message" message=$_POST.message|trim claim=$claim}} {{:mail to=$_email subject="Votre note de frais a été acceptée" body=$message|raw notification=true}} {{/users}} {{:redirect to="details.html?key=%s"|args:$claim.key}} {{/form}} {{#load type="line" claim=$claim.key}} {{:assign var="notes" value="%s\n\n%s"|args:$notes:$description}} {{/load}} {{:assign var="default_account.4110" value="4110 — Autres usagers"}} {{#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}} {{:assign default_label="Note de frais n°%d"|args:$claim.number}} {{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}} {{#projects assign_list="projects"}}{{/projects}} {{:admin_header title="Accepter la note de frais n°%d"|args:$claim.number}} {{:form_errors}}
{{:admin_footer}}