{{#load assign="claim" key=$_GET.claim}} {{else}} {{:error message="Cette note de frais n'existe pas"}} {{/load}} {{#restrict section="accounting" level="write"}} {{:assign is_admin=true}} {{else}} {{if $claim.user_id !== $logged_user.id}} {{:error message="L'accès à cette note de frais est interdit"}} {{/if}} {{:assign is_admin=false}} {{/restrict}} {{if $claim.status !== 'draft'}} {{:error message="Cette note de frais n'est pas un brouillon, il n'est pas possible de la modifier."}} {{/if}} {{:include file="./_config_default.tpl" keep="module.config,vehicles"}} {{:assign var="categories_select.other" value="Autre"}} {{#load type="category" assign="categories." order="$$.label COLLATE U_NOCASE"}} {{:assign var="categories_select[%s]"|args:$key value=$label}} {{/load}} {{#form on="save"}} {{if !$_POST.label|trim}} {{:error message="Le libellé ne peut être laissé vide"}} {{/if}} {{if $_POST.category !== 'other'}} {{#load type="category" key=$_POST.category assign="cat"}} {{else}} {{:error message="Catégorie inconnue"}} {{/load}} {{/if}} {{if $cat.expense_type === 'km_vehicle'}} {{if !$_POST.vehicle|trim}} {{:error message="Aucun véhicule sélectionné"}} {{elseif $_POST.distance|intval < 1}} {{:error message="La distance parcourue ne peut être inférieure à 1 km"}} {{/if}} {{:include file="./_calcul_bareme.tpl" vehicule=$_POST.vehicle distance=$_POST.distance keep="resultat,calcul,bonus"}} {{if $bonus > 1}} {{:assign bonus="+20% (véhicule électrique)"}} {{else}} {{:assign bonus="Non"}} {{/if}} {{:assign var="vehicle_name" from="vehicles.%s"|args:$_POST.vehicle}} {{:assign amount=$resultat description="Départ : %s\nArrivée : %s\nVéhicule : %s\nDistance : %s km\nCalcul : %s\nBonus : %s\n\n%s"|args:$_POST.depart:$_POST.arrivee:$vehicle_name:$_POST.distance:$calcul:$bonus:$_POST.description|trim }} {{elseif $cat.expense_type === 'km_free'}} {{if $_POST.distance|intval < 1}} {{:error message="La distance parcourue ne peut être inférieure à 1 km"}} {{/if}} {{:assign bareme=$cat.price|money_currency:false:false:false}} {{:assign amount="%d*%d"|math:$_POST.distance:$cat.price|money_raw description="Départ : %s\nArrivée : %s\nDistance : %s km\nBarème : %s par km\n\n%s"|args:$_POST.depart:$_POST.arrivee:$_POST.distance:$bareme:$_POST.description|trim }} {{/if}} {{:save validate_schema="./line.schema.json" key="uuid" type="line" claim=$claim.key label=$_POST.label|trim category=$cat.label|or:'Autre' account=$cat.account|keys|key:0|strval|or:null description=$description|or:$_POST.description|trim|or:null amount=$amount|or:$_POST.amount|money_int reference=$_POST.reference|trim|or:null date=$_POST.date|parse_date|or:null id_project=$cat.id_project|intval|or:null }} {{:redirect to="details.html?key=%s"|args:$claim.key}} {{/form}} {{:admin_header title="Ajouter une ligne à la note de frais n°%d"|args:$claim.number}} {{:form_errors}}
{{:admin_footer}}