{{#restrict section="accounting" level="read" block=true}}{{/restrict}}
{{:admin_header title="Gestion des matériels" current="module_equipment"}}

{{* barre de navigation *}}
{{:include file="../_nav.html" current="categories"}}

{{if $_GET.ok}}
	{{if $_GET.msg == "modification"}}
		<p class="block confirm">Modification enregistrée</p>
	{{elseif $_GET.msg == "suppression"}}
		<p class="block confirm">Catégorie supprimée</p>
	{{/if}}
{{elseif $_GET.err}}
	{{if $_GET.msg == "modification"}}
		<p class="block error">{{$_GET.msg}}</p>
	{{elseif $_GET.msg == "suppression"}}
		<p class="block error">
			Cette catégorie ne peut être supprimée car elle contient encore des matériels
		</p>
	{{/if}}
{{/if}}

{{* afficher les catégories déjà enregistrées *}}
<section class="categories">
	{{#list select="$$.name AS 'Catégorie'" order="1" where="$$.type = 'category'"}}
		<tr>
			<th>{{$name}}</th>
			<td class="actions">
				{{:linkbutton label="Liste des matériels" href="list_equipment.html?key=%s&dialog"|args:$key shape="search" target="_dialog"}}
				{{:linkbutton label="Modifier" href="modify_category.html?key=%s"|args:$key shape="edit" target="_dialog"}}
				{{:linkbutton label="Supprimer" href="delete_category.html?key=%s"|args:$key shape="delete" target="_dialog"}}
			</td>
		</tr>
	{{else}}
		<p class="block alert">Il n'y a aucune catégorie : vous devez en ajouter.</p>
	{{/list}}
</section>

{{* Traiter l'envoi du formulaire *}}
{{#form on="save"}}

	{{* Vérifier s'il existe déjà une catégorie avec le même nom *}}
	{{#load type="category" where="lower($$.name) = :name" :name=$_POST.name|trim|tolower}}
		{{:error message="Impossible d'ajouter la catégorie « %s » car elle existe déjà !"|args:$name|trim}}
	{{/load}}

	{{:assign key=""|uuid}}
	{{:save
		key=$key
		validate_schema="./category.schema.json"
		type="category"
		name=$_POST.name|trim
	}}
	{{:redirect to="./index.html?ok=1&msg=Catégorie enregistrée"}}
{{/form}}

{{:form_errors}}

{{* formulaire d'ajout de catégorie *}}
<form method="post" action="{{$self_url}}">
	<fieldset class="ajout_categorie">
		<legend>Ajouter une catégorie</legend>
		<dl>
		{{:input type="text" name="name" label="Nom" required=true maxlength="100"}}
		</dl>
		<p class="submit">
			{{:button type="submit" name="save" label="Ajouter" shape="right" class="main"}}
		</p>
	</fieldset>
</form>

{{:admin_footer}}