{{* -*- brindille -*- *}} {{#restrict block=true section="accounting" level="write"}}{{/restrict}} {{* paramètres : - dir : input ou output *}} {{* Traiter l'envoi du formulaire *}} {{* lecture config *}} {{:include file="../_get_config.html" keep="config, directions, config_defaut"}} {{if ! $directions|has_key:$_GET.dir}} {{:error message="Direction « %s » inconnue !"|args:$_GET.dir}} {{/if}} {{#form on="save"}} {{if $_POST.output_fields.type == "temporaire"}} {{* vérifier si le tarif a été choisi *}} {{if $_POST.tarif == null}} {{:error message="Vous n'avez pas choisi le tarif"}} {{/if}} {{/if}} {{* vérifier s'il existe un libellé de même nom dans la même direction *}} {{#foreach from=$directions key="direction"}} {{:assign var="nature" from="config.%s_nature"|args:$direction}} {{#foreach from=$nature key="key" item="elem"}} {{:assign var="fields" from="_POST.%s_fields"|args:$_GET.dir}} {{if $_GET.dir == $direction && $fields.label|trim|tolower == $elem.label|trim|tolower}} {{:error message="Le libellé « %s » est déjà présent"|args:$fields.label}} {{/if}} {{:assign var="%s_nature"|args:$direction value=$elem}} {{:assign var="%s_nature.key"|args:$direction value=$key}} {{:assign var="%s_natures."|args:$direction from="%s_nature"|args:$direction}} {{/foreach}} {{* ajouter le nouveau type de mouvement *}} {{if $_GET.dir == $direction}} {{:assign var="newlabel" from="_POST.%s_fields.label"|args:$direction}} {{:assign newlabel=$newlabel|trim}} {{:assign var="%s_nature.key"|args:$direction value=""|uuid}} {{:assign var="%s_nature.label"|args:$direction value=$newlabel}} {{:assign var="%s_nature.type"|args:$direction from="_POST.%s_fields.type"|args:$direction}} {{if $_POST.output_fields != null}} {{if $_POST.output_fields.type == "temporaire"}} {{:assign var="output_nature.fee" value=$_POST.tarif}} {{else}} {{:assign var="output_nature.fee" value=null}} {{/if}} {{/if}} {{:assign var="%s_natures."|args:$direction from="%s_nature"|args:$direction}} {{/if}} {{/foreach}} {{:save key="config" validate_schema="../config.schema.json" input_nature=$input_natures output_nature=$output_natures }} {{:redirect to="./config.html?ok=1"}} {{/form}} {{:admin_header title="Gestion des matériels" current="module_equipment"}} {{* barre de navigation *}} {{if ! $dialog}} {{:include file="../_nav.html" current="config" subcurrent="typesES"}} {{/if}} {{:form_errors}} {{if $_GET.dir == 'input'}} {{* types d'entrées *}} {{#foreach from=$config_defaut.inputs}} {{:assign var='input_types.%s'|args:$type value=$type}} {{/foreach}}
Type d'entrée
{{:input type="select" label="Type d'entrée" name="input_fields[type]" options=$input_types default=$type required=true default_empty="— Choisir un type —"}} {{:input type="text" label="Libellé de l'entrée" name="input_fields[label]" required=true}}

Signification du type d'entrée

  • définitif : l'asso devient propriétaire du matériel (ex : achat, don)
  • temporaire : l'asso ne devient pas propriétaire du matériel (ex : location, emprunt)
  • retour : matériel qui revient après une sortie temporaire (ex : retour de location ou de prêt)

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

{{else}} {{* types de sorties *}} {{#foreach from=$config_defaut.outputs}} {{:assign var='output_types.%s'|args:$type value=$type}} {{/foreach}}
Type de sortie
{{:input type="select" label="Type de sortie" name="output_fields[type]" options=$output_types default=$type required=true default_empty="— Choisir un type —"}} {{:input type="text" label="Libellé de la sortie" name="output_fields[label]" required=true}}
{{:input type="radio-btn" name="tarif" value="gratuit" label="Gratuit" required=true prefix_title="Tarification"}} {{:input type="radio-btn" name="tarif" value="payant" label="Payant" required=true}}

Signification du type de sortie

  • définitif : le matériel n'appartient plus à l'asso (ex : vente, casse, perte, vol, ...)
  • temporaire : le matériel sort temporairement de l'asso qui en reste propriétaire (ex : location, prêt) ; dans ce cas, il faut indiquer si ce type de sortie est gratuit ou payant
  • retour : le matériel non propriété de l'asso est rendu à son propriétaire (ex : retour de location ou d'emprunt)

Tarification

  • Une sortie temporaire gratuite sera classée dans l'onglet Prêt
  • Une sortie temporaire payante sera classée dans l'onglet Locations

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

{{/if}}