92 lines
3.9 KiB
HTML
92 lines
3.9 KiB
HTML
{{* -*- brindille -*- *}}
|
|
|
|
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
|
|
|
{{:assign var="types"
|
|
checkbox="Case à cocher"
|
|
date="Date"
|
|
number="Nombre"
|
|
monetary="Montant €"
|
|
text="Texte"
|
|
textarea="Texte multi-lignes"
|
|
}}
|
|
|
|
{{#form on="save"}}
|
|
{{#foreach from=$_POST.fields|array_transpose item="field"}}
|
|
{{if !$field.label|trim || !$field.type}}
|
|
{{:continue}}
|
|
{{/if}}
|
|
{{if !$types|keys|has:$field.type}}
|
|
{{:error message="Type inconnu: %s"|args:$field.type}}
|
|
{{/if}}
|
|
{{:assign var="fields." required=$field.required|boolval published=$field.published|boolval assignedto=$field.assignedto type=$field.type name=$field.name label=$field.label help=$field.help|or:null}}
|
|
{{/foreach}}
|
|
{{:save key="config" fields=$fields|arrayval}}
|
|
{{:redirect to="?ok=1"}}
|
|
{{/form}}
|
|
|
|
{{:admin_header title="Configuration" current="module_%s"|args:$module.name}}
|
|
{{:include file="../_nav.html" current="config" subcurrent="custom_fields"}}
|
|
{{:form_errors}}
|
|
|
|
{{if $_GET.ok}}
|
|
<p class="block confirm">Configuration enregistrée.</p>
|
|
{{/if}}
|
|
|
|
|
|
<form method="post" action="" data-focus=1>
|
|
<section class="equipment_loan">
|
|
<fieldset>
|
|
<p class="help">
|
|
À utiliser optionnellement pour associer des informations supplémentaires aux matériels et/ou objets.
|
|
</p>
|
|
<table class="list fields">
|
|
<thead>
|
|
<tr>
|
|
<td>Type de champ</td>
|
|
<td>Nom du champ</td>
|
|
<td>Libellé du champ</td>
|
|
<td>Texte d'aide en dessous du champ</td>
|
|
<td>Champ obligatoire ?</td>
|
|
<td>Page publique</td>
|
|
<td>Associé à</td>
|
|
<td></td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{:assign var="select" 0="Facultatif" 1="Obligatoire"}}
|
|
{{:assign var="select2" 0="Masquer" 1="Afficher"}}
|
|
{{:assign var="select3" M="Matériels" C="Catégories" E="Emplacements" T="Tous"}}
|
|
{{#foreach from=$module.config.fields item="field"}}
|
|
<tr>
|
|
<td>{{:input type="select" name="fields[type][]" default=$field.type options=$types}}</td>
|
|
<td>{{:input type="text" name="fields[name][]" default=$field.name}}</td>
|
|
<td>{{:input type="text" name="fields[label][]" default=$field.label}}</td>
|
|
<td>{{:input type="text" name="fields[help][]" default=$field.help}}</td>
|
|
<td>{{:input type="select" name="fields[required][]" default=$field.required options=$select required=true}}</td>
|
|
<td>{{:input type="select" name="fields[published][]" default=$field.published options=$select2 required=true}}</td>
|
|
<td>{{:input type="select" name="fields[assignedto][]" default=$field.assignedto options=$select3 required=true}}</td>
|
|
<td class="actions">{{:button shape="minus" label="Enlever cette ligne" onclick="this.parentNode.parentNode.remove();"}}</td>
|
|
</tr>
|
|
{{else}}
|
|
<tr>
|
|
<td>{{:input type="select" name="fields[type][]" options=$types default="text"}}</td>
|
|
<td>{{:input type="text" name="fields[name][]" default=$field.name}}</td>
|
|
<td>{{:input type="text" name="fields[label][]" default=$field.label}}</td>
|
|
<td>{{:input type="text" name="fields[help][]" default=$field.help}}</td>
|
|
<td>{{:input type="select" name="fields[required][]" default=$field.required options=$select required=true}}</td>
|
|
<td>{{:input type="select" name="fields[published][]" default=$field.published options=$select2 required=true}}</td>
|
|
<td>{{:input type="select" name="fields[assignedto][]" default=$field.assignedto options=$select3 required=true}}</td>
|
|
<td class="actions">{{:button shape="minus" label="Enlever ce champ" onclick="this.parentNode.parentNode.remove();"}}</td>
|
|
</tr>
|
|
{{/foreach}}
|
|
</tbody>
|
|
</table>
|
|
<p class="actions">
|
|
{{:button shape="plus" label="Ajouter un champ" onclick="var a = $('.fields tbody')[0].lastElementChild; var b = a.cloneNode(true); b.querySelectorAll('input, select').forEach((e) => e.value = null); a.parentNode.append(b);"}}
|
|
</p>
|
|
</fieldset>
|
|
<p class="submit">
|
|
{{:button type="submit" shape="right" name="save" label="Enregistrer" class="main"}}
|
|
</p>
|
|
</form> |