Rework forms
This commit is contained in:
parent
bcb75be549
commit
40999506c8
14 changed files with 1539 additions and 679 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
115
views/field.html
115
views/field.html
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
634
views/role.html
634
views/role.html
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
199
views/user.html
199
views/user.html
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue