Rework forms

This commit is contained in:
William Bouzourène 2025-01-12 17:14:39 +01:00
parent bcb75be549
commit 40999506c8
14 changed files with 1539 additions and 679 deletions

View file

@ -24,62 +24,70 @@
<form id="user" method="post"> <form id="user" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="name" class="form-label"> <label for="name" class="col-md-2 form-label">
Nom complet Nom complet
</label> </label>
<input <div class="col-md-10">
id="name" <input
class="form-control" id="name"
type="text" class="form-control"
name="name" type="text"
required name="name"
value="{{ User.Name }}" required
> value="{{ User.Name }}"
</div> >
<div class="mb-3">
<label for="email" class="form-label">
Email
</label>
<input
id="email"
class="form-control"
type="email"
name="email"
required
value="{{ User.Email }}"
>
</div>
<div class="mb-3">
<label for="password" class="form-label">
Mot de passe
</label>
<input
id="password"
class="form-control"
type="password"
name="password"
>
<div class="form-text">
Laisser vide pour ne pas changer
</div> </div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="password" class="form-label"> <label for="email" class="col-md-2 form-label">
Confirmer le mot de passe Email
</label> </label>
<input <div class="col-md-10">
id="password-verify" <input
class="form-control" id="email"
type="password" class="form-control"
name="password-verify" type="email"
> name="email"
required
value="{{ User.Email }}"
>
</div>
</div> </div>
<div class="mt-4"> <div class="row mb-3">
<label for="password" class="col-md-2 form-label">
Mot de passe
</label>
<div class="col-md-10">
<input
id="password"
class="form-control"
type="password"
name="password"
>
<div class="form-text">
Laisser vide pour ne pas changer
</div>
</div>
</div>
<div class="row mb-3">
<label for="password" class="col-md-2 form-label">
Confirmer le mot de passe
</label>
<div class="col-md-10">
<input
id="password-verify"
class="form-control"
type="password"
name="password-verify"
>
</div>
</div>
<div class="my-4">
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<i class="me-1 bi-floppy"></i> <i class="me-1 bi-floppy"></i>
Enregistrer Enregistrer

View file

@ -31,7 +31,7 @@
</div> </div>
</div> </div>
<div class="mt-4"> <div class="my-4">
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<i class="me-1 bi-floppy"></i> <i class="me-1 bi-floppy"></i>
Enregistrer Enregistrer

View file

@ -14,40 +14,97 @@
<hr> <hr>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Nom du champ</b><br> <div class="col-md-2">
{{ Field.Name }} Nom du champ
</div>
<div class="col-md-10">
<input
type="text"
class="form-control"
value="{{ Field.Name }}"
disabled
readonly
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Population</b><br> <div class="col-md-2">
{% for Key, Value in PersonTypes %} Population
{% if Key == Field.PersonType %} </div>
{{ Value }} <div class="col-md-10">
{% for Key, Value in PersonTypes %}
{% if Key == Field.PersonType %}
<input
type="text"
class="form-control"
value="{{ Value }}"
disabled
readonly
>
{% endif %}
{% endfor %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Type de champ
</div>
<div class="col-md-10">
{% for Key, Value in FieldTypes %}
{% if Key == Field.FieldType %}
<input
type="text"
class="form-control"
value="{{ Value }}"
disabled
readonly
>
{% endif %}
{% endfor %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Liste
</div>
<div class="col-md-10">
<div class="input-group">
{% if Field.ListID %}
<input
type="text"
class="form-control"
value="{{ Field.List.Name }}"
readonly
disabled
>
<span class="input-group-text">
<a href="/admin/lists/{{ Field.List.ID }}">
Afficher
<i class="bi-box-arrow-up-right ms-1"></i>
</a>
</span>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %} {% endif %}
{% endfor %} </div>
</div> </div>
<div class="mb-3"> <div class="my-4">
<b>Type de champ</b><br>
{% for Key, Value in FieldTypes %}
{% if Key == Field.FieldType %}
{{ Value }}
{% endif %}
{% endfor %}
</div>
{% if Field.ListID %}
<div class="mb-3">
<b>Liste</b><br>
<a href="/admin/lists/{{ Field.List.ID }}">
{{ Field.List.Name }}
</a>
</div>
{% endif %}
<div class="mt-3">
<a class="btn btn-md btn-primary" href="/admin/fields/{{ Field.ID }}/edit"> <a class="btn btn-md btn-primary" href="/admin/fields/{{ Field.ID }}/edit">
<i class="bi-pencil-square"></i> <i class="bi-pencil-square"></i>
Modifier Modifier

View file

@ -34,73 +34,81 @@
<form id="field" method="post"> <form id="field" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="name" class="form-label"> <label for="name" class="form-label col-md-2">
Nom du champ Nom du champ
</label> </label>
<input <div class="col-md-10">
id="name" <input
class="form-control" id="name"
type="text" class="form-control"
name="name" type="text"
required name="name"
value="{{ Field.Name }}" required
> value="{{ Field.Name }}"
>
</div>
</div> </div>
{% if !Field.ID %} {% if !Field.ID %}
<div class="mb-3"> <div class="row mb-3">
<label for="person_type" class="form-label"> <label for="person_type" class="form-label col-md-2">
Population Population
</label> </label>
<select <div class="col-md-10">
name="person_type" <select
id="person_type" name="person_type"
class="form-control" id="person_type"
required class="form-control"
> required
{% for Key, Value in PersonTypes %} >
<option value="{{ Key }}">{{ Value }}</option> {% for Key, Value in PersonTypes %}
{% endfor %} <option value="{{ Key }}">{{ Value }}</option>
</select> {% endfor %}
</select>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="field_type" class="form-label"> <label for="field_type" class="form-label col-md-2">
Type de champ Type de champ
</label> </label>
<select <div class="col-md-10">
name="field_type" <select
id="field_type" name="field_type"
class="form-control" id="field_type"
required class="form-control"
> required
{% for Key, Value in FieldTypes %} >
<option value="{{ Key }}">{{ Value }}</option> {% for Key, Value in FieldTypes %}
{% endfor %} <option value="{{ Key }}">{{ Value }}</option>
</select> {% endfor %}
</select>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="list" class="form-label"> <label for="list" class="form-label col-md-2">
Liste Liste
</label> </label>
<select <div class="col-md-10">
name="list" <select
id="list" name="list"
class="form-control" id="list"
required class="form-control"
> required
{% for List in Lists %} >
<option value="{{ List.ID }}"> {% for List in Lists %}
{{ List.Name }} <option value="{{ List.ID }}">
</option> {{ List.Name }}
{% endfor %} </option>
</select> {% endfor %}
</select>
</div>
</div> </div>
{% endif %} {% endif %}
<div class="mt-4"> <div class="my-4">
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<i class="me-1 bi-floppy"></i> <i class="me-1 bi-floppy"></i>
Enregistrer Enregistrer
@ -118,6 +126,10 @@
var enable = false; var enable = false;
if ($(this).val() == "list") { if ($(this).val() == "list") {
enable = true; enable = true;
$("#list-disabled").remove();
} else {
$("#list").append("<option id=\"list-disabled\" selected></option>");
} }
$("#list").prop("disabled", !enable); $("#list").prop("disabled", !enable);

View file

@ -14,17 +14,55 @@
<hr> <hr>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Nom</b><br> <div class="col-md-2">
{{ List.Name }} Nom
</div>
<div class="col-md-10">
<input
type="text"
class="form-control"
value="{{ List.Name }}"
disabled
readonly
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Liste à choix multiples</b><br> <div class="col-md-2">
{% if List.Multi %}Oui{% else %}Non{% endif %} Liste à choix multiples
</div>
<div class="col-md-10">
{% if Section.Multi %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div> </div>
<div class="mt-3"> <div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/lists/{{ List.ID }}/edit"> <a class="btn btn-md btn-primary" href="/admin/lists/{{ List.ID }}/edit">
<i class="bi-pencil-square"></i> <i class="bi-pencil-square"></i>
Modifier Modifier
@ -41,7 +79,11 @@
</form> </form>
</div> </div>
<hr> <div class="mt-4 mb-3">
<span class="h4">
Contenu de la liste
</span>
</div>
{% if ListItems %} {% if ListItems %}
<table class="table"> <table class="table">
<thead> <thead>
@ -61,18 +103,20 @@
</td> </td>
<td> <td>
{% if Item.Default %} {% if Item.Default %}
<i class="bi-check-lg text-success me-1"></i>
Oui Oui
{% else %} {% else %}
<i class="bi-x-lg text-danger me-1"></i>
Non Non
{% endif %} {% endif %}
</td> </td>
<td> <td class="text-end">
<form <form
action="/admin/lists/{{ List.ID }}/items/{{ Item.ID }}/delete" action="/admin/lists/{{ List.ID }}/items/{{ Item.ID }}/delete"
method="post" method="post"
class="d-inline p-0" class="d-inline p-0"
> >
<button class="btn btn-md btn-danger areyousure" type="submit"> <button class="btn btn-sm btn-danger areyousure" type="submit">
<i class="bi-trash3"></i> <i class="bi-trash3"></i>
Supprimer Supprimer
</button> </button>
@ -88,7 +132,7 @@
</div> </div>
{% endif %} {% endif %}
<div class="mt-3"> <div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/lists/{{ List.ID }}/items/add"> <a class="btn btn-md btn-primary" href="/admin/lists/{{ List.ID }}/items/add">
<i class="bi-plus-lg"></i> <i class="bi-plus-lg"></i>
Ajouter Ajouter

View file

@ -32,31 +32,35 @@
<form id="list" method="post"> <form id="list" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="name" class="form-label"> <label for="name" class="form-label col-md-2">
Nom Nom
</label> </label>
<input <div class="col-md-10">
id="name" <input
class="form-control" id="name"
type="text" class="form-control"
name="name" type="text"
required name="name"
value="{{ List.Name }}" required
> value="{{ List.Name }}"
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="multi" class="form-check-input me-2"
name="multi" id="multi"
{% if List.Multi %}checked{% endif %} name="multi"
> {% if List.Multi %}checked{% endif %}
<label for="multi" class="form-label"> >
Liste à choix multiples <label for="multi" class="form-label">
</label> Liste à choix multiples
</label>
</div>
</div> </div>
<div class="mt-3"> <div class="mt-3">

View file

@ -32,31 +32,37 @@
<form id="list" method="post"> <form id="list" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="value" class="form-label"> <label for="value" class="form-label col-md-2">
Valeur Valeur
</label> </label>
<input <div class="col-md-10">
id="value" <input
class="form-control" id="value"
type="text" class="form-control"
name="value" type="text"
required name="value"
value="{{ ListItem.Value }}" required
> value="{{ ListItem.Value }}"
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="default" class="form-check-input me-2"
name="default" id="default"
{% if ListItem.Default %}checked{% endif %} name="default"
> {% if ListItem.Default %}
<label for="default" class="form-label"> checked
Valeur sélectionnée par défaut {% endif %}
</label> >
<label for="default" class="form-label">
Valeur sélectionnée par défaut
</label>
</div>
</div> </div>
<div class="mt-3"> <div class="mt-3">

View file

@ -14,100 +14,562 @@
<hr> <hr>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Nom</b><br> <div class="col-md-2">
{{ Role.Name }} Nom
</div>
<div class="mb-4">
<div class="mb-3">
<b>Permissions - Membres</b>
</div> </div>
<div style="max-width: 400px;"> <div class="col-md-10">
<table class="table table-bordered"> <input
<tbody> type="text"
<tr> class="form-control"
<td>Afficher membres</td> value="{{ Role.Name }}"
<td>{% if Role.ShowMember %}Oui{% else %}Non{% endif %}</td> disabled
</tr> readonly
<tr> >
<td>Créer membres</td>
<td>{% if Role.CreateMember %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Modifier membres</td>
<td>{% if Role.EditMember %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Afficher membres archivés</td>
<td>{% if Role.ShowArchivedMember %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Archiver membres</td>
<td>{% if Role.ArchiveMember %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Restaurer membres</td>
<td>{% if Role.RestoreMember %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Purger membres (suppression définitive)</td>
<td>{% if Role.PurgeMember %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Convertir membres en contacts</td>
<td>{% if Role.ConvertMemberToContact %}Oui{% else %}Non{% endif %}</td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="mb-4"> <div class="mt-4 mb-3">
<div class="mb-3"> <span class="h4">
<b>Permissions - Contacts</b> Permissions membres
</span>
</div>
<div class="row mb-3">
<div class="col-md-2">
Afficher membres
</div> </div>
<div style="max-width: 400px;"> <div class="col-md-10">
<table class="table table-bordered"> {% if Role.ShowMember %}
<tbody> <div class="input-group">
<tr> <span class="input-group-text">
<td>Afficher contacts</td> <i class="bi-check-lg text-success"></i>
<td>{% if Role.ShowContact %}Oui{% else %}Non{% endif %}</td> </span>
</tr> <input
<tr> type="text"
<td>Créer contacts</td> class="form-control"
<td>{% if Role.CreateContact %}Oui{% else %}Non{% endif %}</td> value="Oui"
</tr> disabled
<tr> >
<td>Modifier contacts</td> </div>
<td>{% if Role.EditContact %}Oui{% else %}Non{% endif %}</td> {% else %}
</tr> <div class="input-group">
<tr> <span class="input-group-text">
<td>Afficher contacts archivés</td> <i class="bi-x-lg text-danger"></i>
<td>{% if Role.ShowArchivedContact %}Oui{% else %}Non{% endif %}</td> </span>
</tr> <input
<tr> type="text"
<td>Archiver contacts</td> class="form-control"
<td>{% if Role.ArchiveContact %}Oui{% else %}Non{% endif %}</td> value="Non"
</tr> disabled
<tr> >
<td>Restaurer contacts</td> </div>
<td>{% if Role.RestoreContact %}Oui{% else %}Non{% endif %}</td> {% endif %}
</tr>
<tr>
<td>Purger contacts (suppression définitive)</td>
<td>{% if Role.PurgeContact %}Oui{% else %}Non{% endif %}</td>
</tr>
<tr>
<td>Convertir contacts en membres</td>
<td>{% if Role.ConvertContactToMember %}Oui{% else %}Non{% endif %}</td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="mt-3"> <div class="row mb-3">
<div class="col-md-2">
Créer membres
</div>
<div class="col-md-10">
{% if Role.CreateMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Modifier membres
</div>
<div class="col-md-10">
{% if Role.EditMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Afficher membres archivés
</div>
<div class="col-md-10">
{% if Role.ShowArchivedMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Archiver membres
</div>
<div class="col-md-10">
{% if Role.ArchiveMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Restaurer membres
</div>
<div class="col-md-10">
{% if Role.RestoreMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Purger membres (suppression définitive)
</div>
<div class="col-md-10">
{% if Role.PurgeMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Convertir membres en contacts
</div>
<div class="col-md-10">
{% if Role.ConvertMemberToContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="mt-4 mb-3">
<span class="h4">
Permissions contacts
</span>
</div>
<div class="row mb-3">
<div class="col-md-2">
Afficher contacts
</div>
<div class="col-md-10">
{% if Role.ShowContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Créer contacts
</div>
<div class="col-md-10">
{% if Role.CreateContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Modifier contacts
</div>
<div class="col-md-10">
{% if Role.EditContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Afficher contacts archivés
</div>
<div class="col-md-10">
{% if Role.ShowArchivedContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Archiver contacts
</div>
<div class="col-md-10">
{% if Role.ArchiveContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Restaurer contacts
</div>
<div class="col-md-10">
{% if Role.RestoreContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Purger contacts (suppression définitive)
</div>
<div class="col-md-10">
{% if Role.PurgeContact %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="row mb-3">
<div class="col-md-2">
Convertir contacts en membres
</div>
<div class="col-md-10">
{% if Role.ConvertContactToMember %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/roles/{{ Role.ID }}/edit"> <a class="btn btn-md btn-primary" href="/admin/roles/{{ Role.ID }}/edit">
<i class="bi-pencil-square"></i> <i class="bi-pencil-square"></i>
Modifier Modifier

View file

@ -32,237 +32,285 @@
<form id="role" method="post"> <form id="role" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="name" class="form-label"> <label for="name" class="form-label col-md-2">
Nom Nom
</label> </label>
<input <div class="col-md-10">
id="name" <input
class="form-control" id="name"
type="text" class="form-control"
name="name" type="text"
required name="name"
value="{{ Role.Name }}" required
> value="{{ Role.Name }}"
>
</div>
</div> </div>
<div class="mb-3 mt-4"> <div class="mt-4 mb-3 d-md-none">
<b>Permissions - Membres</b> <span class="h4">
Permissions membres
</span>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-2">
type="checkbox" <div class="d-none d-md-block">
class="form-check-input me-2" Permissions membres
id="show_member" </div>
name="show_member" </div>
{% if Role.ShowMember %}checked{% endif %} <div class="col-md-10">
> <input
<label for="show_member" class="form-label"> type="checkbox"
Afficher membres class="form-check-input me-2"
</label> id="show_member"
name="show_member"
{% if Role.ShowMember %}checked{% endif %}
>
<label for="show_member" class="form-label">
Afficher membres
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="create_member" class="form-check-input me-2"
name="create_member" id="create_member"
{% if Role.CreateMember %}checked{% endif %} name="create_member"
> {% if Role.CreateMember %}checked{% endif %}
<label for="create_member" class="form-label"> >
Créer membres <label for="create_member" class="form-label">
</label> Créer membres
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="edit_member" class="form-check-input me-2"
name="edit_member" id="edit_member"
{% if Role.EditMember %}checked{% endif %} name="edit_member"
> {% if Role.EditMember %}checked{% endif %}
<label for="edit_member" class="form-label"> >
Modifier membres <label for="edit_member" class="form-label">
</label> Modifier membres
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="show_archived_member" class="form-check-input me-2"
name="show_archived_member" id="show_archived_member"
{% if Role.ShowArchivedMember %}checked{% endif %} name="show_archived_member"
> {% if Role.ShowArchivedMember %}checked{% endif %}
<label for="show_archived_member" class="form-label"> >
Afficher membres archivés <label for="show_archived_member" class="form-label">
</label> Afficher membres archivés
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="archive_member" class="form-check-input me-2"
name="archive_member" id="archive_member"
{% if Role.ArchiveMember %}checked{% endif %} name="archive_member"
> {% if Role.ArchiveMember %}checked{% endif %}
<label for="archive_member" class="form-label"> >
Archiver membres <label for="archive_member" class="form-label">
</label> Archiver membres
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="restore_member" class="form-check-input me-2"
name="restore_member" id="restore_member"
{% if Role.RestoreMember %}checked{% endif %} name="restore_member"
> {% if Role.RestoreMember %}checked{% endif %}
<label for="restore_member" class="form-label"> >
Restaurer membres <label for="restore_member" class="form-label">
</label> Restaurer membres
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="purge_member" class="form-check-input me-2"
name="purge_member" id="purge_member"
{% if Role.PurgeMember %}checked{% endif %} name="purge_member"
> {% if Role.PurgeMember %}checked{% endif %}
<label for="purge_member" class="form-label"> >
Purger membres (suppression définitive) <label for="purge_member" class="form-label">
</label> Purger membres (suppression définitive)
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="convert_member_to_contact" class="form-check-input me-2"
name="convert_member_to_contact" id="convert_member_to_contact"
{% if Role.ConvertMemberToContact %}checked{% endif %} name="convert_member_to_contact"
> {% if Role.ConvertMemberToContact %}checked{% endif %}
<label for="convert_member_to_contact" class="form-label"> >
Convertir membres en contacts <label for="convert_member_to_contact" class="form-label">
</label> Convertir membres en contacts
</label>
</div>
</div> </div>
<div class="mb-3 mt-4"> <div class="mt-4 mb-3 d-md-none">
<b>Permissions - Contacts</b> <span class="h4">
Permissions contacts
</span>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-2">
type="checkbox" <div class="d-none d-md-block">
class="form-check-input me-2" Permissions contacts
id="show_contact" </div>
name="show_contact" </div>
{% if Role.ShowContact %}checked{% endif %} <div class="col-md-10">
> <input
<label for="show_contact" class="form-label"> type="checkbox"
Afficher contacts class="form-check-input me-2"
</label> id="show_contact"
name="show_contact"
{% if Role.ShowContact %}checked{% endif %}
>
<label for="show_contact" class="form-label">
Afficher contacts
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="create_contact" class="form-check-input me-2"
name="create_contact" id="create_contact"
{% if Role.CreateContact %}checked{% endif %} name="create_contact"
> {% if Role.CreateContact %}checked{% endif %}
<label for="create_contact" class="form-label"> >
Créer contacts <label for="create_contact" class="form-label">
</label> Créer contacts
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="edit_contact" class="form-check-input me-2"
name="edit_contact" id="edit_contact"
{% if Role.EditContact %}checked{% endif %} name="edit_contact"
> {% if Role.EditContact %}checked{% endif %}
<label for="edit_contact" class="form-label"> >
Modifier contacts <label for="edit_contact" class="form-label">
</label> Modifier contacts
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="show_archived_contact" class="form-check-input me-2"
name="show_archived_contact" id="show_archived_contact"
{% if Role.ShowArchivedContact %}checked{% endif %} name="show_archived_contact"
> {% if Role.ShowArchivedContact %}checked{% endif %}
<label for="show_archived_contact" class="form-label"> >
Afficher contacts archivés <label for="show_archived_contact" class="form-label">
</label> Afficher contacts archivés
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="archive_contact" class="form-check-input me-2"
name="archive_contact" id="archive_contact"
{% if Role.ArchiveContact %}checked{% endif %} name="archive_contact"
> {% if Role.ArchiveContact %}checked{% endif %}
<label for="archive_contact" class="form-label"> >
Archiver contacts <label for="archive_contact" class="form-label">
</label> Archiver contacts
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="restore_contact" class="form-check-input me-2"
name="restore_contact" id="restore_contact"
{% if Role.RestoreContact %}checked{% endif %} name="restore_contact"
> {% if Role.RestoreContact %}checked{% endif %}
<label for="restore_contact" class="form-label"> >
Restaurer contacts <label for="restore_contact" class="form-label">
</label> Restaurer contacts
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="purge_contact" class="form-check-input me-2"
name="purge_contact" id="purge_contact"
{% if Role.PurgeContact %}checked{% endif %} name="purge_contact"
> {% if Role.PurgeContact %}checked{% endif %}
<label for="purge_contact" class="form-label"> >
Purger contacts (suppression définitive) <label for="purge_contact" class="form-label">
</label> Purger contacts (suppression définitive)
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="convert_contact_to_member" class="form-check-input me-2"
name="convert_contact_to_member" id="convert_contact_to_member"
{% if Role.ConvertContactToMember %}checked{% endif %} name="convert_contact_to_member"
> {% if Role.ConvertContactToMember %}checked{% endif %}
<label for="convert_contact_to_member" class="form-label"> >
Convertir contacts en membres <label for="convert_contact_to_member" class="form-label">
</label> Convertir contacts en membres
</label>
</div>
</div> </div>
<div class="mt-3"> <div class="my-4">
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<i class="me-1 bi-floppy"></i> <i class="me-1 bi-floppy"></i>
Enregistrer Enregistrer

View file

@ -14,36 +14,132 @@
<hr> <hr>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Nom</b><br> <div class="col-md-2">
{{ Section.Name }} Nom
</div>
<div class="col-md-10">
<input
type="text"
class="form-control"
value="{{ Section.Name }}"
disabled
readonly
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Nom technique</b><br> <div class="col-md-2">
{{ Section.ShortName }} Nom technique
</div>
<div class="col-md-10">
<input
type="text"
class="form-control"
value="{{ Section.ShortName }}"
disabled
readonly
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Section parente</b><br> <div class="col-md-2">
{% if Section.ParentSectionID %} Section parente
{{ Section.ParentSection.Name }} </div>
{% else %} <div class="col-md-10">
N/A {% if Section.ParentSectionID %}
{% endif %} <input
</div> type="text"
class="form-control"
<div class="mb-3"> value="{{ Section.ParentSection.Name }}"
<b>Contient des membres</b><br> disabled
{% if Section.ContainsMembers %}Oui{% else %}Non{% endif %} readonly
>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Contient des contacts</b><br> <div class="col-md-2">
{% if Section.ContainsContacts %}Oui{% else %}Non{% endif %} Peut contenir des membres
</div>
<div class="col-md-10">
{% if Section.ContainsMembers %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div> </div>
<div class="mt-3"> <div class="row mb-3">
<div class="col-md-2">
Peut contenir des contacts
</div>
<div class="col-md-10">
{% if Section.ContainsContacts %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/sections/{{ Section.ID }}/edit"> <a class="btn btn-md btn-primary" href="/admin/sections/{{ Section.ID }}/edit">
<i class="bi-pencil-square"></i> <i class="bi-pencil-square"></i>
Modifier Modifier

View file

@ -32,45 +32,54 @@
<form id="section" method="post"> <form id="section" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="name" class="form-label"> <label for="name" class="form-label col-md-2">
Nom Nom
</label> </label>
<input <div class="col-md-10">
id="name" <input
class="form-control" id="name"
type="text" class="form-control"
name="name" type="text"
required name="name"
value="{{ Section.Name }}" required
> value="{{ Section.Name }}"
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="short_name" class="form-label"> <label for="short_name" class="form-label col-md-2">
Nom technique Nom technique
</label> </label>
<input <div class="col-md-10">
id="short_name" <input
class="form-control" id="short_name"
type="text" class="form-control"
name="short_name" type="text"
required name="short_name"
value="{{ Section.ShortName }}" required
> value="{{ Section.ShortName }}"
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="parent_section" class="form-label"> <label for="parent_section" class="form-label col-md-2">
Section parente Section parente
</label> </label>
<select <div class="col-md-10">
id="parent_section" <select
class="form-control" id="parent_section"
name="parent_section" class="form-control"
{% if IsParent %}disabled{% endif %} name="parent_section"
> {% if IsParent %}
<option value="0">--- Pas de section parente ---</option> disabled
{% endif %}
>
<option value="0">
--- Pas de section parente ---
</option>
{% if !IsParent %} {% if !IsParent %}
{% for ParentSection in Sections %} {% for ParentSection in Sections %}
<option <option
@ -81,33 +90,42 @@
</option> </option>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</select> </select>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="contains_members" class="form-check-input me-2"
name="contains_members" id="contains_members"
{% if Section.ContainsMembers %}checked{% endif %} name="contains_members"
> {% if Section.ContainsMembers %}
<label for="contains_members" class="form-label"> checked
Contient des membres {% endif %}
</label> >
<label for="contains_members" class="form-label">
Contient des membres
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="contains_contacts" class="form-check-input me-2"
name="contains_contacts" id="contains_contacts"
{% if Section.ContainsContacts %}checked{% endif %} name="contains_contacts"
> {% if Section.ContainsContacts %}
<label for="contains_contacts" class="form-label"> checked
Contient des contacts {% endif %}
</label> >
<label for="contains_contacts" class="form-label">
Contient des contacts
</label>
</div>
</div> </div>
<div class="mt-3"> <div class="mt-3">

View file

@ -14,70 +14,175 @@
<hr> <hr>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Nom complet</b><br> <div class="col-md-2">
{{ User.Name }} Nom complet
</div>
<div class="col-md-10">
<input
type="text"
class="form-control"
value="{{ User.Name }}"
disabled
readonly
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Email</b><br> <div class="col-md-2">
{{ User.Email }} Email
</div>
<div class="col-md-10">
<input
type="text"
class="form-control"
value="{{ User.Email }}"
disabled
readonly
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Administrateur</b><br> <div class="col-md-2">
{% if User.IsAdmin %} Administrateur
Oui </div>
{% else %} <div class="col-md-10">
Non {% if User.IsAdmin %}
{% endif %} <div class="input-group">
</div> <span class="input-group-text">
<i class="bi-check-lg text-success"></i>
<div class="mb-3"> </span>
<b>Ecran de bienvenue à la prochaine connexion</b><br> <input
{% if User.SkipWelcome %} type="text"
Non class="form-control"
{% else %} value="Oui"
Oui disabled
{% endif %} >
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% endif %}
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<b>Double facteur (TOTP)</b><br> <div class="col-md-2">
{% if User.TotpSecret.Valid %} Ecran de bienvenue à la prochaine connexion
Enrollé </div>
{% else %} <div class="col-md-10">
Enrollement lors de la prochaine connexion {% if User.SkipWelcome %}
{% endif %} <div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Non"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Oui"
disabled
>
</div>
{% endif %}
</div>
</div> </div>
<div class="row mb-3">
<div class="col-md-2">
Double facteur (TOTP)
</div>
<div class="col-md-10">
{% if User.TotpSecret.Valid %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-check-lg text-success"></i>
</span>
<input
type="text"
class="form-control"
value="Enrollé"
disabled
>
</div>
{% else %}
<div class="input-group">
<span class="input-group-text">
<i class="bi-x-lg text-danger"></i>
</span>
<input
type="text"
class="form-control"
value="Enrollement lors de la prochaine connexion"
disabled
>
</div>
{% endif %}
</div>
</div>
<div class="mt-4 mb-3">
<span class="h4">
Permissions
</span>
</div>
{% if UserRoles %} {% if UserRoles %}
<div class="mb-4"> {% for UserRole in UserRoles %}
<div class="mb-3"> <div class="row mb-3">
<b>Permissions</b> <div class="col-md-2">
</div> {{ UserRole.Section.Name }}
<div style="max-width: 500px;"> </div>
<table class="table table-bordered"> <div class="col-md-10">
<tbody> <div class="input-group">
{% for UserRole in UserRoles %} <span class="input-group-text">
<tr> <i class="bi-key"></i>
<td>{{ UserRole.Section.Name }}</td> </span>
<td>{{ UserRole.Role.Name }}</td> <input
</tr> type="text"
{% endfor %} class="form-control"
</tbody> value="{{ UserRole.Role.Name }}"
</table> disabled
readonly
>
</div>
</div>
</div> </div>
{% endfor %}
{% else %}
<div>
Pas encore de permissions pour cet utilisateur.
</div> </div>
{% endif %} {% endif %}
<div class="mt-3"> <div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/users/{{ User.ID }}/edit"> <a class="btn btn-md btn-primary" href="/admin/users/{{ User.ID }}/edit">
<i class="bi-pencil-square"></i> <i class="bi-pencil-square me-1"></i>
Modifier Modifier
</a> </a>
<a class="btn btn-md btn-primary" href="/admin/users/{{ User.ID }}/permissions"> <a class="btn btn-md btn-primary" href="/admin/users/{{ User.ID }}/permissions">
<i class="bi-key"></i> <i class="bi-key me-1"></i>
Permissions Permissions
</a> </a>

View file

@ -32,84 +32,96 @@
<form id="user" method="post"> <form id="user" method="post">
<div class="mb-3"> <div class="row mb-3">
<label for="name" class="form-label"> <label for="name" class="form-label col-md-2">
Nom complet Nom complet
</label> </label>
<input <div class="col-md-10">
id="name" <input
class="form-control" id="name"
type="text" class="form-control"
name="name" type="text"
required name="name"
value="{{ User.Name }}" required
> value="{{ User.Name }}"
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="email" class="form-label"> <label for="email" class="form-label col-md-2">
Email Email
</label> </label>
<input <div class="col-md-10">
id="email" <input
class="form-control" id="email"
type="email" class="form-control"
name="email" type="email"
required name="email"
value="{{ User.Email }}" required
> value="{{ User.Email }}"
>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="is_admin" class="form-check-input me-2"
name="is_admin" id="is_admin"
{% if User.IsAdmin %}checked{% endif %} name="is_admin"
> {% if User.IsAdmin %}
<label for="is_admin" class="form-label"> checked
Administrateur {% endif %}
</label> >
<label for="is_admin" class="form-label">
Administrateur
</label>
</div>
</div> </div>
<div class="mb-3"> <div class="row mb-3">
<label for="password" class="form-label"> <label for="password" class="form-label col-md-2">
Mot de passe Mot de passe
</label> </label>
<input <div class="col-md-10">
id="password" <input
class="form-control" id="password"
type="password" class="form-control"
name="password" type="password"
{% if !User.ID %}required{% endif %} name="password"
> {% if !User.ID %}required{% endif %}
{% if User.ID %} >
<div class="form-text"> {% if User.ID %}
Laisser vide pour ne pas changer <div class="form-text">
Laisser vide pour ne pas changer
</div>
{% endif %}
</div> </div>
{% endif %}
</div> </div>
{% if User.ID %} {% if User.ID %}
<div class="mb-3"> <div class="row mb-3">
<input <div class="col-md-10 offset-md-2">
type="checkbox" <input
class="form-check-input me-2" type="checkbox"
id="reset_totp" class="form-check-input me-2"
name="reset_totp" id="reset_totp"
> name="reset_totp"
<label for="reset_totp" class="form-label"> >
Réinitialiser le double facteur (TOTP) <label for="reset_totp" class="form-label">
</label> Réinitialiser le double facteur (TOTP)
<div class="form-text"> </label>
Si la case est cochée, l'utilisateur devra effectuer <div class="form-text">
un enrollement TOTP à la prochaine connexion. Si la case est cochée, l'utilisateur devra effectuer
un enrollement TOTP à la prochaine connexion.
</div>
</div> </div>
</div> </div>
{% endif %} {% endif %}
<div class="mt-3"> <div class="my-4">
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<i class="me-1 bi-floppy"></i> <i class="me-1 bi-floppy"></i>
Enregistrer Enregistrer

View file

@ -27,52 +27,40 @@
<form id="user" method="post"> <form id="user" method="post">
<div class="table-responsive"> {% for Section in Sections %}
<table class="table"> <div class="row mb-3">
<thead> <div class="col-md-2">
<tr> {{ Section.Name }}
<th>Section</th> </div>
<th>Rôle</th> <div class="col-md-10">
</tr> <div class="input-group">
</thead> <span class="input-group-text">
<tbody> <i class="bi-key"></i>
{% for Section in Sections %} </span>
<tr> <select
<td> class="form-control"
<input name="section-{{ Section.ID }}"
type="text" id="section-{{ Section.ID }}"
class="form-control" >
readonly <option value="0">--- Aucun ---</option>
value="{{ Section.Name }}" {% for Role in Roles %}
> <option
</td> value="{{ Role.ID }}"
<td>
<select
class="form-control"
name="section-{{ Section.ID }}"
id="section-{{ Section.ID }}"
>
<option value="0">--- Aucun ---</option>
{% for Role in Roles %}
<option
value="{{ Role.ID }}"
{% for UserRole in UserRoles %} {% for UserRole in UserRoles %}
{% if Section.ID == UserRole.SectionID and Role.ID == UserRole.RoleID %} {% if Section.ID == UserRole.SectionID and Role.ID == UserRole.RoleID %}
selected selected
{% endif %} {% endif %}
{% endfor %}
>
{{ Role.Name }}
</option>
{% endfor %} {% endfor %}
</select> >
</td> {{ Role.Name }}
</tr> </option>
{% endfor %} {% endfor %}
</tbody> </select>
</table> </div>
</div>
</div> </div>
{% endfor %}
<div class="mt-3"> <div class="mt-3">
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">