Prettier templates
This commit is contained in:
parent
d98268d9d6
commit
7b1cb83742
33 changed files with 4207 additions and 4374 deletions
|
|
@ -9,7 +9,7 @@
|
||||||
<li class="breadcrumb-item active">Gérer mon compte utilisateur</li>
|
<li class="breadcrumb-item active">Gérer mon compte utilisateur</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -23,11 +23,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="account" method="post">
|
<form id="account" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="name" class="col-md-2 form-label">
|
<label for="name" class="col-md-2 form-label"> Nom complet </label>
|
||||||
Nom complet
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
|
|
@ -38,14 +35,12 @@
|
||||||
value="{{ User.Name }}"
|
value="{{ User.Name }}"
|
||||||
autofocus
|
autofocus
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="email" class="col-md-2 form-label">
|
<label for="email" class="col-md-2 form-label"> Email </label>
|
||||||
Email
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
|
|
@ -55,14 +50,12 @@
|
||||||
required
|
required
|
||||||
value="{{ User.Email }}"
|
value="{{ User.Email }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="password" class="col-md-2 form-label">
|
<label for="password" class="col-md-2 form-label"> Mot de passe </label>
|
||||||
Mot de passe
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
|
|
@ -70,10 +63,8 @@
|
||||||
type="password"
|
type="password"
|
||||||
name="password"
|
name="password"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
<div class="form-text">
|
<div class="form-text">Laisser vide pour ne pas changer</div>
|
||||||
Laisser vide pour ne pas changer
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -88,7 +79,7 @@
|
||||||
type="password"
|
type="password"
|
||||||
name="password-verify"
|
name="password-verify"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -99,7 +90,6 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,10 @@
|
||||||
<li class="breadcrumb-item active">Gérer multifacteur (TOTP)</li>
|
<li class="breadcrumb-item active">Gérer multifacteur (TOTP)</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form id="account" method="post">
|
<form id="account" method="post">
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
|
|
@ -22,13 +21,13 @@
|
||||||
name="reset_totp"
|
name="reset_totp"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
required
|
required
|
||||||
>
|
/>
|
||||||
<label for="reset_totp" class="form-label">
|
<label for="reset_totp" class="form-label">
|
||||||
Réinitialiser le double facteur (TOTP)
|
Réinitialiser le double facteur (TOTP)
|
||||||
</label>
|
</label>
|
||||||
<div class="form-text">
|
<div class="form-text">
|
||||||
Si la case est cochée, vous devrez effectuer
|
Si la case est cochée, vous devrez effectuer un nouvel enrôlement
|
||||||
un nouvel enrôlement TOTP.
|
TOTP.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -39,6 +38,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<li class="breadcrumb-item active">Administration</li>
|
<li class="breadcrumb-item active">Administration</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,17 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/fields">Champs supplémentaires</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/fields">Champs supplémentaires</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">{{ Field.Name }}</li>
|
<li class="breadcrumb-item active">{{ Field.Name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom du champ</div>
|
||||||
Nom du champ
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -25,14 +25,12 @@
|
||||||
value="{{ Field.Name }}"
|
value="{{ Field.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Population</div>
|
||||||
Population
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% for Key, Value in PersonTypes %}
|
{% for Key, Value in PersonTypes %}
|
||||||
{% if Key == Field.PersonType %}
|
{% if Key == Field.PersonType %}
|
||||||
|
|
@ -42,16 +40,14 @@
|
||||||
value="{{ Value }}"
|
value="{{ Value }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Type de champ</div>
|
||||||
Type de champ
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% for Key, Value in FieldTypes %}
|
{% for Key, Value in FieldTypes %}
|
||||||
{% if Key == Field.FieldType %}
|
{% if Key == Field.FieldType %}
|
||||||
|
|
@ -61,16 +57,14 @@
|
||||||
value="{{ Value }}"
|
value="{{ Value }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Liste</div>
|
||||||
Liste
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Field.ListID %}
|
{% if Field.ListID %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|
@ -80,7 +74,7 @@
|
||||||
value="{{ Field.List.Name }}"
|
value="{{ Field.List.Name }}"
|
||||||
readonly
|
readonly
|
||||||
disabled
|
disabled
|
||||||
>
|
/>
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<a href="/admin/lists/{{ Field.List.ID }}">
|
<a href="/admin/lists/{{ Field.List.ID }}">
|
||||||
Afficher
|
Afficher
|
||||||
|
|
@ -93,12 +87,7 @@
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -106,19 +95,26 @@
|
||||||
|
|
||||||
<div class="row my-4">
|
<div class="row my-4">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<a class="btn btn-outline-primary" href="/admin/fields/{{ Field.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/fields/{{ Field.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square"></i>
|
<i class="bi-pencil-square"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 text-end">
|
<div class="col-6 text-end">
|
||||||
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="modal-delete" class="modal" tabindex="-1">
|
<div id="modal-delete" class="modal" tabindex="-1">
|
||||||
|
|
@ -128,12 +124,20 @@
|
||||||
<p>Êtes-vous sûr de vouloir supprimer ce champ ?</p>
|
<p>Êtes-vous sûr de vouloir supprimer ce champ ?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<form action="/admin/fields/{{ Field.ID }}/delete" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/admin/fields/{{ Field.ID }}/delete"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,9 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/fields">Champs supplémentaires</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/fields">Champs supplémentaires</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
{% if Field.ID %}
|
{% if Field.ID %}
|
||||||
<li class="breadcrumb-item">
|
<li class="breadcrumb-item">
|
||||||
|
|
@ -19,7 +21,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -33,11 +35,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="field" method="post">
|
<form id="field" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="name" class="form-label col-md-2">
|
<label for="name" class="form-label col-md-2"> Nom du champ </label>
|
||||||
Nom du champ
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
|
|
@ -48,7 +47,7 @@
|
||||||
value="{{ Field.Name }}"
|
value="{{ Field.Name }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -93,9 +92,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="list" class="form-label col-md-2">
|
<label for="list" class="form-label col-md-2"> Liste </label>
|
||||||
Liste
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<select
|
<select
|
||||||
name="list"
|
name="list"
|
||||||
|
|
@ -105,9 +102,7 @@
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
{% for List in Lists %}
|
{% for List in Lists %}
|
||||||
<option value="{{ List.ID }}">
|
<option value="{{ List.ID }}">{{ List.Name }}</option>
|
||||||
{{ List.Name }}
|
|
||||||
</option>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -121,7 +116,6 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
@ -135,7 +129,7 @@
|
||||||
|
|
||||||
$("#list-disabled").remove();
|
$("#list-disabled").remove();
|
||||||
} else {
|
} else {
|
||||||
$("#list").append("<option id=\"list-disabled\" selected></option>");
|
$("#list").append('<option id="list-disabled" selected></option>');
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#list").prop("disabled", !enable);
|
$("#list").prop("disabled", !enable);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<li class="breadcrumb-item active">Champs supplémentaires</li>
|
<li class="breadcrumb-item active">Champs supplémentaires</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 text-end">
|
<div class="my-3 text-end">
|
||||||
|
|
@ -35,9 +35,7 @@
|
||||||
{% if Field.PersonType == "member" %}
|
{% if Field.PersonType == "member" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="/admin/fields/{{ Field.ID }}">
|
<a href="/admin/fields/{{ Field.ID }}"> {{ Field.Name }} </a>
|
||||||
{{ Field.Name }}
|
|
||||||
</a>
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% for Key, Value in FieldTypes %}
|
{% for Key, Value in FieldTypes %}
|
||||||
|
|
@ -48,11 +46,17 @@
|
||||||
</td>
|
</td>
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<a class="btn btn-sm btn-outline-primary" href="/admin/fields/{{ Field.ID }}/move-up">
|
<a
|
||||||
|
class="btn btn-sm btn-outline-primary"
|
||||||
|
href="/admin/fields/{{ Field.ID }}/move-up"
|
||||||
|
>
|
||||||
<i class="bi-arrow-up me-1"></i>
|
<i class="bi-arrow-up me-1"></i>
|
||||||
Monter
|
Monter
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-sm btn-outline-primary" href="/admin/fields/{{ Field.ID }}/move-down">
|
<a
|
||||||
|
class="btn btn-sm btn-outline-primary"
|
||||||
|
href="/admin/fields/{{ Field.ID }}/move-down"
|
||||||
|
>
|
||||||
<i class="bi-arrow-down me-1"></i>
|
<i class="bi-arrow-down me-1"></i>
|
||||||
Descendre
|
Descendre
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -80,9 +84,7 @@
|
||||||
{% if Field.PersonType == "contact" %}
|
{% if Field.PersonType == "contact" %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="/admin/fields/{{ Field.ID }}">
|
<a href="/admin/fields/{{ Field.ID }}"> {{ Field.Name }} </a>
|
||||||
{{ Field.Name }}
|
|
||||||
</a>
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% for Key, Value in FieldTypes %}
|
{% for Key, Value in FieldTypes %}
|
||||||
|
|
@ -93,11 +95,17 @@
|
||||||
</td>
|
</td>
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<a class="btn btn-sm btn-outline-primary" href="/admin/fields/{{ Field.ID }}/move-up">
|
<a
|
||||||
|
class="btn btn-sm btn-outline-primary"
|
||||||
|
href="/admin/fields/{{ Field.ID }}/move-up"
|
||||||
|
>
|
||||||
<i class="bi-arrow-up me-1"></i>
|
<i class="bi-arrow-up me-1"></i>
|
||||||
Monter
|
Monter
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-sm btn-outline-primary" href="/admin/fields/{{ Field.ID }}/move-down">
|
<a
|
||||||
|
class="btn btn-sm btn-outline-primary"
|
||||||
|
href="/admin/fields/{{ Field.ID }}/move-down"
|
||||||
|
>
|
||||||
<i class="bi-arrow-down me-1"></i>
|
<i class="bi-arrow-down me-1"></i>
|
||||||
Descendre
|
Descendre
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -109,6 +117,5 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,10 @@
|
||||||
<li class="breadcrumb-item active">Accueil</li>
|
<li class="breadcrumb-item active">Accueil</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
{% if Globals.AllowMembersPage %}
|
{% if Globals.AllowMembersPage %}
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<a class="dashboard-tile" href="/members">
|
<a class="dashboard-tile" href="/members">
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
<html lang="fr" class="h-100" data-bs-theme="{{ Globals.ColorMode }}">
|
<html lang="fr" class="h-100" data-bs-theme="{{ Globals.ColorMode }}">
|
||||||
{% include "partials/easter_egg.html" %}
|
{% include "partials/easter_egg.html" %}
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
|
||||||
{% set PageTitleSuffix = "Camarades | POP Vaud" %}
|
{% set PageTitleSuffix = "Camarades | POP Vaud" %}
|
||||||
{% if PageTitle %}
|
{% if PageTitle %}
|
||||||
|
|
@ -12,10 +12,17 @@
|
||||||
<title>{{ PageTitleSuffix }}</title>
|
<title>{{ PageTitleSuffix }}</title>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<link rel="shortcut icon" href="/static/images/favicon.jpg" type="image/jpg">
|
<link
|
||||||
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css">
|
rel="shortcut icon"
|
||||||
<link rel="stylesheet" href="/static/bootstrap-icons/bootstrap-icons.min.css">
|
href="/static/images/favicon.jpg"
|
||||||
<link rel="stylesheet" href="/static/main.css">
|
type="image/jpg"
|
||||||
|
/>
|
||||||
|
<link rel="stylesheet" href="/static/bootstrap/css/bootstrap.min.css" />
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="/static/bootstrap-icons/bootstrap-icons.min.css"
|
||||||
|
/>
|
||||||
|
<link rel="stylesheet" href="/static/main.css" />
|
||||||
{% block stylesheet %}{% endblock %}
|
{% block stylesheet %}{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
<body class="d-flex flex-column h-100">
|
<body class="d-flex flex-column h-100">
|
||||||
|
|
@ -25,7 +32,8 @@
|
||||||
{% include "partials/header.html" %}
|
{% include "partials/header.html" %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block main %}{% endblock %}
|
{% block main %}
|
||||||
|
{% endblock %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|
@ -40,11 +48,7 @@
|
||||||
<i class="bi-code-slash"></i>
|
<i class="bi-code-slash"></i>
|
||||||
Code source
|
Code source
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a class="text-body-secondary" target="_blank" href="/licenses">
|
||||||
class="text-body-secondary"
|
|
||||||
target="_blank"
|
|
||||||
href="/licences"
|
|
||||||
>
|
|
||||||
<i class="bi-journal-bookmark"></i>
|
<i class="bi-journal-bookmark"></i>
|
||||||
Licences
|
Licences
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
{% extends "layouts/main.html" %}
|
{% extends "layouts/main.html" %}
|
||||||
|
|
||||||
{% block main %}
|
{% block main %}
|
||||||
<div id="licenses" class="container-fluid p-3">
|
<div id="licenses" class="container-fluid p-3">{{ Markdown|safe }}</div>
|
||||||
{{ Markdown|safe }}
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block stylesheet %}
|
{% block stylesheet %}
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,11 @@
|
||||||
<li class="breadcrumb-item active">{{ List.Name }}</li>
|
<li class="breadcrumb-item active">{{ List.Name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom</div>
|
||||||
Nom
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -25,38 +23,26 @@
|
||||||
value="{{ List.Name }}"
|
value="{{ List.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Liste à choix multiples</div>
|
||||||
Liste à choix multiples
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if List.Multi %}
|
{% if List.Multi %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -64,13 +50,21 @@
|
||||||
|
|
||||||
<div class="my-4 row">
|
<div class="my-4 row">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<a class="btn btn-outline-primary" href="/admin/lists/{{ List.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/lists/{{ List.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square"></i>
|
<i class="bi-pencil-square"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 text-end">
|
<div class="col-6 text-end">
|
||||||
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
|
|
@ -78,11 +72,12 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 row">
|
<div class="my-3 row">
|
||||||
<div class="col-sm-9 h4">
|
<div class="col-sm-9 h4">Contenu de la liste</div>
|
||||||
Contenu de la liste
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-3 text-end">
|
<div class="col-sm-3 text-end">
|
||||||
<a class="btn btn-outline-primary" href="/admin/lists/{{ List.ID }}/items/add">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/lists/{{ List.ID }}/items/add"
|
||||||
|
>
|
||||||
<i class="bi-plus-lg"></i>
|
<i class="bi-plus-lg"></i>
|
||||||
Ajouter
|
Ajouter
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -117,7 +112,12 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<button type="button" class="btn btn-outline-danger btn-sm" data-bs-toggle="modal" data-bs-target="#modal-delete-value-{{ Item.ID }}">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-danger btn-sm"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete-value-{{ Item.ID }}"
|
||||||
|
>
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
|
|
@ -128,11 +128,8 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div>
|
<div>Pas encore d'éléments dans cette liste.</div>
|
||||||
Pas encore d'éléments dans cette liste.
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="modal-delete" class="modal" tabindex="-1">
|
<div id="modal-delete" class="modal" tabindex="-1">
|
||||||
|
|
@ -142,12 +139,20 @@
|
||||||
<p>Êtes-vous sûr de vouloir supprimer cette liste ?</p>
|
<p>Êtes-vous sûr de vouloir supprimer cette liste ?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<form action="/admin/lists/{{ List.ID }}/delete" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/admin/lists/{{ List.ID }}/delete"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
@ -166,12 +171,20 @@
|
||||||
<p>Êtes-vous sûr de vouloir supprimer cette valeur ?</p>
|
<p>Êtes-vous sûr de vouloir supprimer cette valeur ?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<form action="/admin/lists/{{ List.ID }}/items/{{ Item.ID }}/delete" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/admin/lists/{{ List.ID }}/items/{{ Item.ID }}/delete"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
@ -182,5 +195,4 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,16 @@
|
||||||
<li class="breadcrumb-item"><a href="/admin/lists">Listes</a></li>
|
<li class="breadcrumb-item"><a href="/admin/lists">Listes</a></li>
|
||||||
|
|
||||||
{% if List.ID %}
|
{% if List.ID %}
|
||||||
<li class="breadcrumb-item"><a href="/admin/lists/{{ List.ID }}">{{ List.Name }}</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/lists/{{ List.ID }}">{{ List.Name }}</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">Modifier</li>
|
<li class="breadcrumb-item active">Modifier</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="breadcrumb-item active">Ajouter</li>
|
<li class="breadcrumb-item active">Ajouter</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -31,11 +33,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="list" method="post">
|
<form id="list" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="name" class="form-label col-md-2">
|
<label for="name" class="form-label col-md-2"> Nom </label>
|
||||||
Nom
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
|
|
@ -46,7 +45,7 @@
|
||||||
value="{{ List.Name }}"
|
value="{{ List.Name }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -59,7 +58,7 @@
|
||||||
name="multi"
|
name="multi"
|
||||||
{% if List.Multi %}checked{% endif %}
|
{% if List.Multi %}checked{% endif %}
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
<label for="multi" class="form-label">
|
<label for="multi" class="form-label">
|
||||||
Liste à choix multiples
|
Liste à choix multiples
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -73,6 +72,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,9 @@
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/lists">Listes</a></li>
|
<li class="breadcrumb-item"><a href="/admin/lists">Listes</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/lists/{{ List.ID }}">{{ List.Name }}</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/lists/{{ List.ID }}">{{ List.Name }}</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
{% if ListItem.ID %}
|
{% if ListItem.ID %}
|
||||||
<li class="breadcrumb-item active">Modifier élément</li>
|
<li class="breadcrumb-item active">Modifier élément</li>
|
||||||
|
|
@ -17,7 +19,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -31,11 +33,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="listitem" method="post">
|
<form id="listitem" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="value" class="form-label col-md-2">
|
<label for="value" class="form-label col-md-2"> Valeur </label>
|
||||||
Valeur
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="value"
|
id="value"
|
||||||
|
|
@ -46,7 +45,7 @@
|
||||||
value="{{ ListItem.Value }}"
|
value="{{ ListItem.Value }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -61,7 +60,7 @@
|
||||||
{% if ListItem.Default %}
|
{% if ListItem.Default %}
|
||||||
checked
|
checked
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="default" class="form-label">
|
<label for="default" class="form-label">
|
||||||
Valeur sélectionnée par défaut
|
Valeur sélectionnée par défaut
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -75,6 +74,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<li class="breadcrumb-item active">Listes</li>
|
<li class="breadcrumb-item active">Listes</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 text-end">
|
<div class="my-3 text-end">
|
||||||
|
|
@ -33,9 +33,7 @@
|
||||||
{% for List in Lists %}
|
{% for List in Lists %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="/admin/lists/{{ List.ID }}">
|
<a href="/admin/lists/{{ List.ID }}"> {{ List.Name }} </a>
|
||||||
{{ List.Name }}
|
|
||||||
</a>
|
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if List.Multi %}
|
{% if List.Multi %}
|
||||||
|
|
@ -52,10 +50,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="my-4">
|
<div class="my-4">Pas de liste pour le moment</div>
|
||||||
Pas de liste pour le moment
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,15 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="login-card" class="my-5">
|
<div id="login-card" class="my-5">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">Authentification</div>
|
||||||
Authentification
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{% if LoginError %}
|
{% if LoginError %}
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">{{ LoginError }}</div>
|
||||||
{{ LoginError }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="login" method="post">
|
<form id="login" method="post">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="email" class="form-label">
|
<label for="email" class="form-label"> Adresse email </label>
|
||||||
Adresse email
|
|
||||||
</label>
|
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
|
@ -26,19 +20,17 @@
|
||||||
name="email"
|
name="email"
|
||||||
required
|
required
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="password" class="form-label">
|
<label for="password" class="form-label"> Mot de passe </label>
|
||||||
Mot de passe
|
|
||||||
</label>
|
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
type="password"
|
type="password"
|
||||||
name="password"
|
name="password"
|
||||||
required
|
required
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<input
|
<input
|
||||||
|
|
@ -46,7 +38,7 @@
|
||||||
class="form-check-input me-2"
|
class="form-check-input me-2"
|
||||||
id="save_session"
|
id="save_session"
|
||||||
name="save_session"
|
name="save_session"
|
||||||
>
|
/>
|
||||||
<label for="save_session" class="form-label">
|
<label for="save_session" class="form-label">
|
||||||
Se souvenir de moi
|
Se souvenir de moi
|
||||||
</label>
|
</label>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
class="me-1"
|
class="me-1"
|
||||||
src="/static/images/logo.png"
|
src="/static/images/logo.png"
|
||||||
alt="Logo"
|
alt="Logo"
|
||||||
>
|
/>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
<div class="collapse navbar-collapse" id="navbar-content">
|
<div class="collapse navbar-collapse" id="navbar-content">
|
||||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
||||||
{% if Globals.TotpVerified %}
|
{% if Globals.TotpVerified %}
|
||||||
|
|
||||||
{% if Globals.AllowMembersPage %}
|
{% if Globals.AllowMembersPage %}
|
||||||
|
|
@ -81,7 +80,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
|
@ -97,7 +95,6 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<i class="bi-moon"></i>
|
<i class="bi-moon"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
{% if Globals.LoggedIn %}
|
{% if Globals.LoggedIn %}
|
||||||
|
|
@ -108,7 +105,9 @@
|
||||||
role="button"
|
role="button"
|
||||||
data-bs-toggle="dropdown"
|
data-bs-toggle="dropdown"
|
||||||
>
|
>
|
||||||
<span class="user-photo me-2">{{ Globals.UserFullname|first }}</span>{{ Globals.UserFullname }}
|
<span class="user-photo me-2"
|
||||||
|
>{{ Globals.UserFullname|first }}</span
|
||||||
|
>{{ Globals.UserFullname }}
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
{% if Globals.TotpVerified %}
|
{% if Globals.TotpVerified %}
|
||||||
|
|
@ -123,7 +122,7 @@
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<hr class="dropdown-divider">
|
<hr class="dropdown-divider" />
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
@ -138,6 +137,5 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,9 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="breadcrumb-item active">Contacts</li>
|
<li class="breadcrumb-item active">Contacts</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 text-end">
|
<div class="my-3 text-end">
|
||||||
|
|
@ -25,7 +24,10 @@
|
||||||
<i class="bi-plus-lg"></i>
|
<i class="bi-plus-lg"></i>
|
||||||
Ajouter
|
Ajouter
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-outline-primary" href="/members/export?s={{ SearchJSON|urlencode }}">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/members/export?s={{ SearchJSON|urlencode }}"
|
||||||
|
>
|
||||||
<i class="bi-filetype-csv"></i>
|
<i class="bi-filetype-csv"></i>
|
||||||
Exporter
|
Exporter
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -36,7 +38,10 @@
|
||||||
<i class="bi-plus-lg"></i>
|
<i class="bi-plus-lg"></i>
|
||||||
Ajouter
|
Ajouter
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-outline-primary" href="/contacts/export?s={{ SearchJSON|urlencode }}">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/contacts/export?s={{ SearchJSON|urlencode }}"
|
||||||
|
>
|
||||||
<i class="bi-filetype-csv"></i>
|
<i class="bi-filetype-csv"></i>
|
||||||
Exporter
|
Exporter
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -44,85 +49,142 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="search-container" class="h-100 p-4 mb-3 bg-body-tertiary border rounded-3">
|
<div
|
||||||
|
id="search-container"
|
||||||
|
class="h-100 p-4 mb-3 bg-body-tertiary border rounded-3"
|
||||||
|
>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6 mb-3">
|
<div class="col-lg-6 mb-3">
|
||||||
|
|
||||||
<label for="name" class="form-label">Nom et prénom</label>
|
<label for="name" class="form-label">Nom et prénom</label>
|
||||||
<input type="text" class="form-control" id="name" data-search-field="name" data-search-advanced="false" name="name">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="name"
|
||||||
|
data-search-field="name"
|
||||||
|
data-search-advanced="false"
|
||||||
|
name="name"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 col-lg-3 mb-3">
|
<div class="col-sm-6 col-lg-3 mb-3">
|
||||||
|
|
||||||
<label for="section" class="form-label">Section</label>
|
<label for="section" class="form-label">Section</label>
|
||||||
<select class="form-select" id="section" data-search-field="section" data-search-type="int" data-search-advanced="false" name="section">
|
<select
|
||||||
|
class="form-select"
|
||||||
|
id="section"
|
||||||
|
data-search-field="section"
|
||||||
|
data-search-type="int"
|
||||||
|
data-search-advanced="false"
|
||||||
|
name="section"
|
||||||
|
>
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
{% for Section in Sections %}
|
{% for Section in Sections %}
|
||||||
<option value="{{ Section.ID }}">
|
<option value="{{ Section.ID }}">{{ Section.Name }}</option>
|
||||||
{{ Section.Name }}
|
|
||||||
</option>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 col-lg-3 mb-3 pt-3">
|
<div class="col-sm-6 col-lg-3 mb-3 pt-3">
|
||||||
|
|
||||||
{% if PermShow %}
|
{% if PermShow %}
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" role="switch" data-search-field="active" data-search-advanced="false" id="active" checked>
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
role="switch"
|
||||||
|
data-search-field="active"
|
||||||
|
data-search-advanced="false"
|
||||||
|
id="active"
|
||||||
|
checked
|
||||||
|
/>
|
||||||
{% if MembersPage %}
|
{% if MembersPage %}
|
||||||
<label class="form-check-label" for="active">Afficher membres actifs</label>
|
<label class="form-check-label" for="active"
|
||||||
|
>Afficher membres actifs</label
|
||||||
|
>
|
||||||
{% else %}
|
{% else %}
|
||||||
<label class="form-check-label" for="active">Afficher contacts actifs</label>
|
<label class="form-check-label" for="active"
|
||||||
|
>Afficher contacts actifs</label
|
||||||
|
>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if PermShowArchived %}
|
{% if PermShowArchived %}
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" role="switch" data-search-field="archive" data-search-advanced="false" id="archive">
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
role="switch"
|
||||||
|
data-search-field="archive"
|
||||||
|
data-search-advanced="false"
|
||||||
|
id="archive"
|
||||||
|
/>
|
||||||
{% if MembersPage %}
|
{% if MembersPage %}
|
||||||
<label class="form-check-label" for="archive">Afficher membres archivés</label>
|
<label class="form-check-label" for="archive"
|
||||||
|
>Afficher membres archivés</label
|
||||||
|
>
|
||||||
{% else %}
|
{% else %}
|
||||||
<label class="form-check-label" for="archive">Afficher contacts archivés</label>
|
<label class="form-check-label" for="archive"
|
||||||
|
>Afficher contacts archivés</label
|
||||||
|
>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="d-none" id="advanced-section">
|
<div class="d-none" id="advanced-section">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6 mb-3">
|
<div class="col-lg-6 mb-3">
|
||||||
|
|
||||||
<label for="email" class="form-label">Email</label>
|
<label for="email" class="form-label">Email</label>
|
||||||
<input type="text" class="form-control" id="email" data-search-field="email" data-search-advanced="true" name="email">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="email"
|
||||||
|
data-search-field="email"
|
||||||
|
data-search-advanced="true"
|
||||||
|
name="email"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 mb-3">
|
<div class="col-lg-6 mb-3">
|
||||||
|
|
||||||
<label for="phone" class="form-label">Téléphone</label>
|
<label for="phone" class="form-label">Téléphone</label>
|
||||||
<input type="text" class="form-control" id="phone" data-search-field="phone" data-search-advanced="true" name="phone">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="phone"
|
||||||
|
data-search-field="phone"
|
||||||
|
data-search-advanced="true"
|
||||||
|
name="phone"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 mb-3">
|
<div class="col-lg-6 mb-3">
|
||||||
|
|
||||||
<label for="address" class="form-label">Adresse</label>
|
<label for="address" class="form-label">Adresse</label>
|
||||||
<input type="text" class="form-control" id="address" data-search-field="address" data-search-advanced="true" name="address">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="address"
|
||||||
|
data-search-field="address"
|
||||||
|
data-search-advanced="true"
|
||||||
|
name="address"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-4 col-lg-2 mb-3">
|
<div class="col-sm-4 col-lg-2 mb-3">
|
||||||
|
|
||||||
<label for="postal_code" class="form-label">Code postal</label>
|
<label for="postal_code" class="form-label">Code postal</label>
|
||||||
<input type="text" class="form-control" id="postal_code" data-search-field="postal_code" data-search-advanced="true" name="postal_code">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="postal_code"
|
||||||
|
data-search-field="postal_code"
|
||||||
|
data-search-advanced="true"
|
||||||
|
name="postal_code"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-8 col-lg-4 mb-3">
|
<div class="col-sm-8 col-lg-4 mb-3">
|
||||||
|
|
||||||
<label for="city" class="form-label">Lieu</label>
|
<label for="city" class="form-label">Lieu</label>
|
||||||
<input type="text" class="form-control" id="city" data-search-field="city" data-search-advanced="true" name="city">
|
<input
|
||||||
|
type="text"
|
||||||
|
class="form-control"
|
||||||
|
id="city"
|
||||||
|
data-search-field="city"
|
||||||
|
data-search-advanced="true"
|
||||||
|
name="city"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -132,15 +194,13 @@
|
||||||
<select class="form-select field-select" data-last-field="">
|
<select class="form-select field-select" data-last-field="">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
{% for Field in Fields %}
|
{% for Field in Fields %}
|
||||||
<option value="{{ Field.ID }}">
|
<option value="{{ Field.ID }}">{{ Field.Name }}</option>
|
||||||
{{ Field.Name }}
|
|
||||||
</option>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="end-col col-lg-6 mb-3">
|
<div class="end-col col-lg-6 mb-3">
|
||||||
<label class="form-label">Valeur</label>
|
<label class="form-label">Valeur</label>
|
||||||
<input type="text" class="form-control" disabled>
|
<input type="text" class="form-control" disabled />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -149,10 +209,19 @@
|
||||||
|
|
||||||
<div class="row mt-2">
|
<div class="row mt-2">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<button class="btn btn-outline-primary" id="advanced" data-state="false" type="button">
|
<button
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
id="advanced"
|
||||||
|
data-state="false"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
<i class="bi-arrow-down me-1"></i> Avancé
|
<i class="bi-arrow-down me-1"></i> Avancé
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-outline-primary" id="reset-search" type="button">
|
<button
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
id="reset-search"
|
||||||
|
type="button"
|
||||||
|
>
|
||||||
<i class="bi-arrow-clockwise me-1"></i> Réinitialiser
|
<i class="bi-arrow-clockwise me-1"></i> Réinitialiser
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -164,8 +233,18 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form id="search-form" method="get" class="d-none">
|
<form id="search-form" method="get" class="d-none">
|
||||||
<input type="hidden" id="search-page" name="p" value="{{ Pagination.CurrentPage }}">
|
<input
|
||||||
<input type="hidden" id="search-json" name="s" value="{{ SearchJSON }}">
|
type="hidden"
|
||||||
|
id="search-page"
|
||||||
|
name="p"
|
||||||
|
value="{{ Pagination.CurrentPage }}"
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
type="hidden"
|
||||||
|
id="search-json"
|
||||||
|
name="s"
|
||||||
|
value="{{ SearchJSON }}"
|
||||||
|
/>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -197,7 +276,8 @@
|
||||||
{% if Person.Address1 and (Person.PostalCode or Person.City) %}
|
{% if Person.Address1 and (Person.PostalCode or Person.City) %}
|
||||||
–
|
–
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ Person.PostalCode }} {{ Person.City }}
|
{{ Person.PostalCode }}
|
||||||
|
{{ Person.City }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if Person.SectionID %}
|
{% if Person.SectionID %}
|
||||||
|
|
@ -212,7 +292,6 @@
|
||||||
|
|
||||||
<nav class="mt-3 mb-5">
|
<nav class="mt-3 mb-5">
|
||||||
<ul class="pagination justify-content-center">
|
<ul class="pagination justify-content-center">
|
||||||
|
|
||||||
{% if Pagination.CurrentPage <= 1 %}
|
{% if Pagination.CurrentPage <= 1 %}
|
||||||
<li class="page-item disabled">
|
<li class="page-item disabled">
|
||||||
<a class="page-link" href="javascript:;">
|
<a class="page-link" href="javascript:;">
|
||||||
|
|
@ -226,10 +305,7 @@
|
||||||
</li>
|
</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="page-item">
|
<li class="page-item">
|
||||||
<a
|
<a class="page-link" href="?p=1&s={{ SearchJSON|urlencode }}">
|
||||||
class="page-link"
|
|
||||||
href="?p=1&s={{ SearchJSON|urlencode }}"
|
|
||||||
>
|
|
||||||
<i class="bi-rewind"></i>
|
<i class="bi-rewind"></i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
@ -251,7 +327,6 @@
|
||||||
{% else %}
|
{% else %}
|
||||||
class="page-link"
|
class="page-link"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
href="?&p={{ i }}&s={{ SearchJSON|urlencode }}"
|
href="?&p={{ i }}&s={{ SearchJSON|urlencode }}"
|
||||||
>
|
>
|
||||||
{{ i }}
|
{{ i }}
|
||||||
|
|
@ -290,7 +365,6 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,11 @@
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom de famille</div>
|
||||||
Nom de famille
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -32,14 +30,12 @@
|
||||||
value="{{ Person.LastName }}"
|
value="{{ Person.LastName }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Prénom</div>
|
||||||
Prénom
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -47,14 +43,12 @@
|
||||||
value="{{ Person.FirstName }}"
|
value="{{ Person.FirstName }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Email</div>
|
||||||
Email
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -62,14 +56,12 @@
|
||||||
value="{{ Person.Email }}"
|
value="{{ Person.Email }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Téléphone fixe</div>
|
||||||
Téléphone fixe
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -77,14 +69,12 @@
|
||||||
value="{{ Person.Phone }}"
|
value="{{ Person.Phone }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-5">
|
<div class="row mb-5">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Téléphone mobile</div>
|
||||||
Téléphone mobile
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -92,14 +82,12 @@
|
||||||
value="{{ Person.Mobile }}"
|
value="{{ Person.Mobile }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Adresse</div>
|
||||||
Adresse
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -107,7 +95,7 @@
|
||||||
value="{{ Person.Address1 }}"
|
value="{{ Person.Address1 }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -119,7 +107,7 @@
|
||||||
value="{{ Person.Address2 }}"
|
value="{{ Person.Address2 }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -131,7 +119,7 @@
|
||||||
value="{{ Person.PostalCode }}"
|
value="{{ Person.PostalCode }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7 col-lg-8">
|
<div class="col-md-7 col-lg-8">
|
||||||
<input
|
<input
|
||||||
|
|
@ -140,14 +128,12 @@
|
||||||
value="{{ Person.City }}"
|
value="{{ Person.City }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Section</div>
|
||||||
Section
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -155,38 +141,32 @@
|
||||||
value="{{ Person.Section.Name }}"
|
value="{{ Person.Section.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Fields %}
|
{% if Fields %}
|
||||||
<div class="mt-4 mb-3">
|
<div class="mt-4 mb-3">
|
||||||
<span class="h4">
|
<span class="h4"> Champs supplémentaires </span>
|
||||||
Champs supplémentaires
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% for Field in Fields %}
|
{% for Field in Fields %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">{{ Field.Name }}</div>
|
||||||
{{ Field.Name }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
|
|
||||||
{% if Field.FieldType == "text" %}
|
{% if Field.FieldType == "text" %}
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ValueString.String }}"
|
value="{{ FieldValue.ValueString.String }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "longtext" %}
|
{% if Field.FieldType == "longtext" %}
|
||||||
|
|
@ -196,7 +176,9 @@
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
rows="4"
|
rows="4"
|
||||||
>{% for FieldValue in FieldValues %}{% if FieldValue.FieldID == Field.ID %}{{ FieldValue.ValueString.String }}{% endif %}{% endfor %}</textarea>
|
>
|
||||||
|
{% for FieldValue in FieldValues %}{% if FieldValue.FieldID == Field.ID %}{{ FieldValue.ValueString.String }}{% endif %}{% endfor %}</textarea
|
||||||
|
>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "number" %}
|
{% if Field.FieldType == "number" %}
|
||||||
|
|
@ -205,13 +187,12 @@
|
||||||
class="form-control"
|
class="form-control"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ValueInt.Int64 }}"
|
value="{{ FieldValue.ValueInt.Int64 }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "date" %}
|
{% if Field.FieldType == "date" %}
|
||||||
|
|
@ -220,13 +201,12 @@
|
||||||
class="form-control"
|
class="form-control"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ValueDate.Time|date:"02.01.2006" }}"
|
value="{{ FieldValue.ValueDate.Time|date:"02.01.2006" }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "list" and Field.List.Multi %}
|
{% if Field.FieldType == "list" and Field.List.Multi %}
|
||||||
|
|
@ -236,8 +216,15 @@
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
<div class="mb-1">
|
<div class="mb-1">
|
||||||
<input type="checkbox" class="form-check-input me-2" checked disabled>
|
<input
|
||||||
<label class="form-label">{{ FieldValue.ListItem.Value }}</label>
|
type="checkbox"
|
||||||
|
class="form-check-input me-2"
|
||||||
|
checked
|
||||||
|
disabled
|
||||||
|
/>
|
||||||
|
<label class="form-label"
|
||||||
|
>{{ FieldValue.ListItem.Value }}</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
@ -250,126 +237,158 @@
|
||||||
class="form-control"
|
class="form-control"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ListItem.Value }}"
|
value="{{ FieldValue.ListItem.Value }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<div class="my-5">
|
<div class="my-5">
|
||||||
{% if Person.IsMember %}
|
{% if Person.IsMember %}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{% if !Person.DeletedAt.Valid %}
|
{% if !Person.DeletedAt.Valid %}
|
||||||
|
|
||||||
{% if PermEdit %}
|
{% if PermEdit %}
|
||||||
<a class="btn btn-outline-primary" href="/members/{{ Person.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/members/{{ Person.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square"></i>
|
<i class="bi-pencil-square"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if PermConvert %}
|
{% if PermConvert %}
|
||||||
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-convert">
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-convert"
|
||||||
|
>
|
||||||
<i class="bi-arrow-repeat"></i>
|
<i class="bi-arrow-repeat"></i>
|
||||||
Convertir en contact
|
Convertir en contact
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 text-md-end mt-2 mt-md-0">
|
<div class="col-md-6 text-md-end mt-2 mt-md-0">
|
||||||
{% if Person.DeletedAt.Valid %}
|
{% if Person.DeletedAt.Valid %}
|
||||||
|
|
||||||
{% if PermRestore %}
|
{% if PermRestore %}
|
||||||
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-restore">
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-restore"
|
||||||
|
>
|
||||||
<i class="bi-person-check"></i>
|
<i class="bi-person-check"></i>
|
||||||
Restaurer
|
Restaurer
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
{% if PermArchive %}
|
{% if PermArchive %}
|
||||||
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-archive">
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-archive"
|
||||||
|
>
|
||||||
<i class="bi-person-slash"></i>
|
<i class="bi-person-slash"></i>
|
||||||
Archiver
|
Archiver
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if PermPurge %}
|
{% if PermPurge %}
|
||||||
<button class="btn btn-outline-danger" type="button" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3"></i>
|
<i class="bi-trash3"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
{% if !Person.DeletedAt.Valid %}
|
{% if !Person.DeletedAt.Valid %}
|
||||||
|
|
||||||
{% if PermEdit %}
|
{% if PermEdit %}
|
||||||
<a class="btn btn-outline-primary" href="/contacts/{{ Person.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/contacts/{{ Person.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square"></i>
|
<i class="bi-pencil-square"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if PermConvert %}
|
{% if PermConvert %}
|
||||||
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-convert">
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-convert"
|
||||||
|
>
|
||||||
<i class="bi-arrow-repeat"></i>
|
<i class="bi-arrow-repeat"></i>
|
||||||
Convertir en membre
|
Convertir en membre
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 text-md-end mt-2 mt-md-0">
|
<div class="col-md-6 text-md-end mt-2 mt-md-0">
|
||||||
{% if Person.DeletedAt.Valid %}
|
{% if Person.DeletedAt.Valid %}
|
||||||
|
|
||||||
{% if PermRestore %}
|
{% if PermRestore %}
|
||||||
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-restore">
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-restore"
|
||||||
|
>
|
||||||
<i class="bi-person-check"></i>
|
<i class="bi-person-check"></i>
|
||||||
Restaurer
|
Restaurer
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
{% if PermArchive %}
|
{% if PermArchive %}
|
||||||
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-archive">
|
<button
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-archive"
|
||||||
|
>
|
||||||
<i class="bi-person-slash"></i>
|
<i class="bi-person-slash"></i>
|
||||||
Archiver
|
Archiver
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if PermPurge %}
|
{% if PermPurge %}
|
||||||
<button class="btn btn-outline-danger" type="button" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3"></i>
|
<i class="bi-trash3"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -385,20 +404,32 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{% if Person.IsMember %}
|
{% if Person.IsMember %}
|
||||||
<form action="/members/{{ Person.ID }}/purge" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/members/{{ Person.ID }}/purge"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
{% else %}
|
||||||
<form action="/contacts/{{ Person.ID }}/purge" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/contacts/{{ Person.ID }}/purge"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
@ -421,20 +452,32 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{% if Person.IsMember %}
|
{% if Person.IsMember %}
|
||||||
<form action="/members/{{ Person.ID }}/archive" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/members/{{ Person.ID }}/archive"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
<i class="bi-person-slash"></i>
|
<i class="bi-person-slash"></i>
|
||||||
Archiver
|
Archiver
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
{% else %}
|
||||||
<form action="/contacts/{{ Person.ID }}/archive" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/contacts/{{ Person.ID }}/archive"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
<i class="bi-person-slash"></i>
|
<i class="bi-person-slash"></i>
|
||||||
Archiver
|
Archiver
|
||||||
|
|
@ -457,20 +500,32 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{% if Person.IsMember %}
|
{% if Person.IsMember %}
|
||||||
<form action="/members/{{ Person.ID }}/restore" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/members/{{ Person.ID }}/restore"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
<i class="bi-person-check"></i>
|
<i class="bi-person-check"></i>
|
||||||
Restaurer
|
Restaurer
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
{% else %}
|
||||||
<form action="/contacts/{{ Person.ID }}/restore" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/contacts/{{ Person.ID }}/restore"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
<i class="bi-person-check"></i>
|
<i class="bi-person-check"></i>
|
||||||
Restaurer
|
Restaurer
|
||||||
|
|
@ -493,20 +548,32 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
{% if Person.IsMember %}
|
{% if Person.IsMember %}
|
||||||
<form action="/members/{{ Person.ID }}/convert" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/members/{{ Person.ID }}/convert"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
<i class="bi-arrow-repeat"></i>
|
<i class="bi-arrow-repeat"></i>
|
||||||
Convertir
|
Convertir
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
{% else %}
|
||||||
<form action="/contacts/{{ Person.ID }}/convert" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/contacts/{{ Person.ID }}/convert"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
<i class="bi-arrow-repeat"></i>
|
<i class="bi-arrow-repeat"></i>
|
||||||
Convertir
|
Convertir
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -48,7 +48,6 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="person" method="post">
|
<form id="person" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="last_name" class="form-label col-md-2">
|
<label for="last_name" class="form-label col-md-2">
|
||||||
Nom de famille
|
Nom de famille
|
||||||
|
|
@ -62,14 +61,12 @@
|
||||||
value="{{ Person.LastName }}"
|
value="{{ Person.LastName }}"
|
||||||
autofocus
|
autofocus
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="first_name" class="form-label col-md-2">
|
<label for="first_name" class="form-label col-md-2"> Prénom </label>
|
||||||
Prénom
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="first_name"
|
id="first_name"
|
||||||
|
|
@ -79,14 +76,12 @@
|
||||||
required
|
required
|
||||||
value="{{ Person.FirstName }}"
|
value="{{ Person.FirstName }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="email" class="form-label col-md-2">
|
<label for="email" class="form-label col-md-2"> Email </label>
|
||||||
Email
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
|
|
@ -95,14 +90,12 @@
|
||||||
name="email"
|
name="email"
|
||||||
value="{{ Person.Email }}"
|
value="{{ Person.Email }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="phone" class="form-label col-md-2">
|
<label for="phone" class="form-label col-md-2"> Téléphone fixe </label>
|
||||||
Téléphone fixe
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="phone"
|
id="phone"
|
||||||
|
|
@ -111,7 +104,7 @@
|
||||||
name="phone"
|
name="phone"
|
||||||
value="{{ Person.Phone }}"
|
value="{{ Person.Phone }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -127,14 +120,12 @@
|
||||||
name="mobile"
|
name="mobile"
|
||||||
value="{{ Person.Mobile }}"
|
value="{{ Person.Mobile }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-2">
|
<div class="row mb-2">
|
||||||
<label for="address1" class="form-label col-md-2">
|
<label for="address1" class="form-label col-md-2"> Adresse </label>
|
||||||
Adresse
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="address1"
|
id="address1"
|
||||||
|
|
@ -144,7 +135,7 @@
|
||||||
value="{{ Person.Address1 }}"
|
value="{{ Person.Address1 }}"
|
||||||
placeholder="Ligne 1"
|
placeholder="Ligne 1"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -158,7 +149,7 @@
|
||||||
value="{{ Person.Address2 }}"
|
value="{{ Person.Address2 }}"
|
||||||
placeholder="Ligne 2"
|
placeholder="Ligne 2"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -173,7 +164,7 @@
|
||||||
pattern="[0-9]{4}"
|
pattern="[0-9]{4}"
|
||||||
value="{{ Person.PostalCode }}"
|
value="{{ Person.PostalCode }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7 col-lg-8">
|
<div class="col-md-7 col-lg-8">
|
||||||
<input
|
<input
|
||||||
|
|
@ -184,14 +175,12 @@
|
||||||
value="{{ Person.City }}"
|
value="{{ Person.City }}"
|
||||||
placeholder="Lieu"
|
placeholder="Lieu"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="section" class="form-label col-md-2">
|
<label for="section" class="form-label col-md-2"> Section </label>
|
||||||
Section
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<select
|
<select
|
||||||
class="form-select"
|
class="form-select"
|
||||||
|
|
@ -216,9 +205,7 @@
|
||||||
|
|
||||||
{% if Fields %}
|
{% if Fields %}
|
||||||
<div class="mt-4 mb-3">
|
<div class="mt-4 mb-3">
|
||||||
<span class="h4">
|
<span class="h4"> Champs supplémentaires </span>
|
||||||
Champs supplémentaires
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
@ -228,7 +215,6 @@
|
||||||
{{ Field.Name }}
|
{{ Field.Name }}
|
||||||
</label>
|
</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
|
|
||||||
{% if Field.FieldType == "text" %}
|
{% if Field.FieldType == "text" %}
|
||||||
<input
|
<input
|
||||||
id="field-{{ Field.ID }}"
|
id="field-{{ Field.ID }}"
|
||||||
|
|
@ -236,13 +222,12 @@
|
||||||
type="text"
|
type="text"
|
||||||
name="field-{{ Field.ID }}"
|
name="field-{{ Field.ID }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ValueString.String }}"
|
value="{{ FieldValue.ValueString.String }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "longtext" %}
|
{% if Field.FieldType == "longtext" %}
|
||||||
|
|
@ -252,7 +237,9 @@
|
||||||
name="field-{{ Field.ID }}"
|
name="field-{{ Field.ID }}"
|
||||||
rows="4"
|
rows="4"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>{% for FieldValue in FieldValues %}{% if FieldValue.FieldID == Field.ID %}{{ FieldValue.ValueString.String }}{% endif %}{% endfor %}</textarea>
|
>
|
||||||
|
{% for FieldValue in FieldValues %}{% if FieldValue.FieldID == Field.ID %}{{ FieldValue.ValueString.String }}{% endif %}{% endfor %}</textarea
|
||||||
|
>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "number" %}
|
{% if Field.FieldType == "number" %}
|
||||||
|
|
@ -262,13 +249,12 @@
|
||||||
type="number"
|
type="number"
|
||||||
name="field-{{ Field.ID }}"
|
name="field-{{ Field.ID }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ValueInt.Int64 }}"
|
value="{{ FieldValue.ValueInt.Int64 }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "date" %}
|
{% if Field.FieldType == "date" %}
|
||||||
|
|
@ -278,13 +264,12 @@
|
||||||
type="date"
|
type="date"
|
||||||
name="field-{{ Field.ID }}"
|
name="field-{{ Field.ID }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
|
||||||
{% for FieldValue in FieldValues %}
|
{% for FieldValue in FieldValues %}
|
||||||
{% if FieldValue.FieldID == Field.ID %}
|
{% if FieldValue.FieldID == Field.ID %}
|
||||||
value="{{ FieldValue.ValueDate.Time|date:"2006-01-02" }}"
|
value="{{ FieldValue.ValueDate.Time|date:"2006-01-02" }}"
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if Field.FieldType == "list" and !Field.List.Multi %}
|
{% if Field.FieldType == "list" and !Field.List.Multi %}
|
||||||
|
|
@ -298,7 +283,6 @@
|
||||||
{% for ListItem in Field.List.ListItems %}
|
{% for ListItem in Field.List.ListItems %}
|
||||||
<option
|
<option
|
||||||
value="{{ ListItem.ID }}"
|
value="{{ ListItem.ID }}"
|
||||||
|
|
||||||
{% if !Person.ID and ListItem.Default %}
|
{% if !Person.ID and ListItem.Default %}
|
||||||
selected
|
selected
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
@ -324,7 +308,6 @@
|
||||||
id="field-{{ Field.ID }}-{{ ListItem.ID }}"
|
id="field-{{ Field.ID }}-{{ ListItem.ID }}"
|
||||||
name="field-{{ Field.ID }}-{{ ListItem.ID }}"
|
name="field-{{ Field.ID }}-{{ ListItem.ID }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
|
||||||
{% if !Person.ID and ListItem.Default %}
|
{% if !Person.ID and ListItem.Default %}
|
||||||
checked
|
checked
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
@ -334,7 +317,7 @@
|
||||||
checked
|
checked
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
>
|
/>
|
||||||
<label
|
<label
|
||||||
for="field-{{ Field.ID }}-{{ ListItem.ID }}"
|
for="field-{{ Field.ID }}-{{ ListItem.ID }}"
|
||||||
class="form-label"
|
class="form-label"
|
||||||
|
|
@ -344,7 +327,6 @@
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
@ -356,6 +338,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
329
views/role.html
329
views/role.html
|
|
@ -11,13 +11,11 @@
|
||||||
<li class="breadcrumb-item active">{{ Role.Name }}</li>
|
<li class="breadcrumb-item active">{{ Role.Name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom</div>
|
||||||
Nom
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -25,545 +23,349 @@
|
||||||
value="{{ Role.Name }}"
|
value="{{ Role.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 mb-3">
|
<div class="mt-4 mb-3">
|
||||||
<span class="h4">
|
<span class="h4"> Permissions membres </span>
|
||||||
Permissions membres
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Afficher membres</div>
|
||||||
Afficher membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ShowMember %}
|
{% if Role.ShowMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Créer membres</div>
|
||||||
Créer membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.CreateMember %}
|
{% if Role.CreateMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Modifier membres</div>
|
||||||
Modifier membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.EditMember %}
|
{% if Role.EditMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Afficher membres archivés</div>
|
||||||
Afficher membres archivés
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ShowArchivedMember %}
|
{% if Role.ShowArchivedMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Archiver membres</div>
|
||||||
Archiver membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ArchiveMember %}
|
{% if Role.ArchiveMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Restaurer membres</div>
|
||||||
Restaurer membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.RestoreMember %}
|
{% if Role.RestoreMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Purger membres (suppression définitive)</div>
|
||||||
Purger membres (suppression définitive)
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.PurgeMember %}
|
{% if Role.PurgeMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Convertir membres en contacts</div>
|
||||||
Convertir membres en contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ConvertMemberToContact %}
|
{% if Role.ConvertMemberToContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 mb-3">
|
<div class="mt-4 mb-3">
|
||||||
<span class="h4">
|
<span class="h4"> Permissions contacts </span>
|
||||||
Permissions contacts
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Afficher contacts</div>
|
||||||
Afficher contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ShowContact %}
|
{% if Role.ShowContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Créer contacts</div>
|
||||||
Créer contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.CreateContact %}
|
{% if Role.CreateContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Modifier contacts</div>
|
||||||
Modifier contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.EditContact %}
|
{% if Role.EditContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Afficher contacts archivés</div>
|
||||||
Afficher contacts archivés
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ShowArchivedContact %}
|
{% if Role.ShowArchivedContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Archiver contacts</div>
|
||||||
Archiver contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ArchiveContact %}
|
{% if Role.ArchiveContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Restaurer contacts</div>
|
||||||
Restaurer contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.RestoreContact %}
|
{% if Role.RestoreContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Purger contacts (suppression définitive)</div>
|
||||||
Purger contacts (suppression définitive)
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.PurgeContact %}
|
{% if Role.PurgeContact %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Convertir contacts en membres</div>
|
||||||
Convertir contacts en membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Role.ConvertContactToMember %}
|
{% if Role.ConvertContactToMember %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -571,19 +373,26 @@
|
||||||
|
|
||||||
<div class="my-4 row">
|
<div class="my-4 row">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<a class="btn btn-outline-primary" href="/admin/roles/{{ Role.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/roles/{{ Role.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square"></i>
|
<i class="bi-pencil-square"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 text-end">
|
<div class="col-6 text-end">
|
||||||
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="modal-delete" class="modal" tabindex="-1">
|
<div id="modal-delete" class="modal" tabindex="-1">
|
||||||
|
|
@ -593,12 +402,20 @@
|
||||||
<p>Êtes-vous sûr de vouloir supprimer ce rôle ?</p>
|
<p>Êtes-vous sûr de vouloir supprimer ce rôle ?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<form action="/admin/roles/{{ Role.ID }}/delete" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/admin/roles/{{ Role.ID }}/delete"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,16 @@
|
||||||
<li class="breadcrumb-item"><a href="/admin/roles">Rôles</a></li>
|
<li class="breadcrumb-item"><a href="/admin/roles">Rôles</a></li>
|
||||||
|
|
||||||
{% if Role.ID %}
|
{% if Role.ID %}
|
||||||
<li class="breadcrumb-item"><a href="/admin/roles/{{ Role.ID }}">{{ Role.Name }}</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/roles/{{ Role.ID }}">{{ Role.Name }}</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">Modifier</li>
|
<li class="breadcrumb-item active">Modifier</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="breadcrumb-item active">Ajouter</li>
|
<li class="breadcrumb-item active">Ajouter</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -31,11 +33,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="role" method="post">
|
<form id="role" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="name" class="form-label col-md-2">
|
<label for="name" class="form-label col-md-2"> Nom </label>
|
||||||
Nom
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
|
|
@ -46,21 +45,17 @@
|
||||||
value="{{ Role.Name }}"
|
value="{{ Role.Name }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 mb-3 d-md-none">
|
<div class="mt-4 mb-3 d-md-none">
|
||||||
<span class="h4">
|
<span class="h4"> Permissions membres </span>
|
||||||
Permissions membres
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<div class="d-none d-md-block">
|
<div class="d-none d-md-block">Permissions membres</div>
|
||||||
Permissions membres
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
|
|
@ -70,10 +65,8 @@
|
||||||
name="show_member"
|
name="show_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ShowMember %}checked{% endif %}
|
{% if Role.ShowMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="show_member" class="form-label">
|
<label for="show_member" class="form-label"> Afficher membres </label>
|
||||||
Afficher membres
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -86,10 +79,8 @@
|
||||||
name="create_member"
|
name="create_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.CreateMember %}checked{% endif %}
|
{% if Role.CreateMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="create_member" class="form-label">
|
<label for="create_member" class="form-label"> Créer membres </label>
|
||||||
Créer membres
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -102,10 +93,8 @@
|
||||||
name="edit_member"
|
name="edit_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.EditMember %}checked{% endif %}
|
{% if Role.EditMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="edit_member" class="form-label">
|
<label for="edit_member" class="form-label"> Modifier membres </label>
|
||||||
Modifier membres
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -118,7 +107,7 @@
|
||||||
name="show_archived_member"
|
name="show_archived_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ShowArchivedMember %}checked{% endif %}
|
{% if Role.ShowArchivedMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="show_archived_member" class="form-label">
|
<label for="show_archived_member" class="form-label">
|
||||||
Afficher membres archivés
|
Afficher membres archivés
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -134,7 +123,7 @@
|
||||||
name="archive_member"
|
name="archive_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ArchiveMember %}checked{% endif %}
|
{% if Role.ArchiveMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="archive_member" class="form-label">
|
<label for="archive_member" class="form-label">
|
||||||
Archiver membres
|
Archiver membres
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -150,7 +139,7 @@
|
||||||
name="restore_member"
|
name="restore_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.RestoreMember %}checked{% endif %}
|
{% if Role.RestoreMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="restore_member" class="form-label">
|
<label for="restore_member" class="form-label">
|
||||||
Restaurer membres
|
Restaurer membres
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -166,7 +155,7 @@
|
||||||
name="purge_member"
|
name="purge_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.PurgeMember %}checked{% endif %}
|
{% if Role.PurgeMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="purge_member" class="form-label">
|
<label for="purge_member" class="form-label">
|
||||||
Purger membres (suppression définitive)
|
Purger membres (suppression définitive)
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -182,7 +171,7 @@
|
||||||
name="convert_member_to_contact"
|
name="convert_member_to_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ConvertMemberToContact %}checked{% endif %}
|
{% if Role.ConvertMemberToContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="convert_member_to_contact" class="form-label">
|
<label for="convert_member_to_contact" class="form-label">
|
||||||
Convertir membres en contacts
|
Convertir membres en contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -190,16 +179,12 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 mb-3 d-md-none">
|
<div class="mt-4 mb-3 d-md-none">
|
||||||
<span class="h4">
|
<span class="h4"> Permissions contacts </span>
|
||||||
Permissions contacts
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<div class="d-none d-md-block">
|
<div class="d-none d-md-block">Permissions contacts</div>
|
||||||
Permissions contacts
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
|
|
@ -209,7 +194,7 @@
|
||||||
name="show_contact"
|
name="show_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ShowContact %}checked{% endif %}
|
{% if Role.ShowContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="show_contact" class="form-label">
|
<label for="show_contact" class="form-label">
|
||||||
Afficher contacts
|
Afficher contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -225,7 +210,7 @@
|
||||||
name="create_contact"
|
name="create_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.CreateContact %}checked{% endif %}
|
{% if Role.CreateContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="create_contact" class="form-label">
|
<label for="create_contact" class="form-label">
|
||||||
Créer contacts
|
Créer contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -241,7 +226,7 @@
|
||||||
name="edit_contact"
|
name="edit_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.EditContact %}checked{% endif %}
|
{% if Role.EditContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="edit_contact" class="form-label">
|
<label for="edit_contact" class="form-label">
|
||||||
Modifier contacts
|
Modifier contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -257,7 +242,7 @@
|
||||||
name="show_archived_contact"
|
name="show_archived_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ShowArchivedContact %}checked{% endif %}
|
{% if Role.ShowArchivedContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="show_archived_contact" class="form-label">
|
<label for="show_archived_contact" class="form-label">
|
||||||
Afficher contacts archivés
|
Afficher contacts archivés
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -273,7 +258,7 @@
|
||||||
name="archive_contact"
|
name="archive_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ArchiveContact %}checked{% endif %}
|
{% if Role.ArchiveContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="archive_contact" class="form-label">
|
<label for="archive_contact" class="form-label">
|
||||||
Archiver contacts
|
Archiver contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -289,7 +274,7 @@
|
||||||
name="restore_contact"
|
name="restore_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.RestoreContact %}checked{% endif %}
|
{% if Role.RestoreContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="restore_contact" class="form-label">
|
<label for="restore_contact" class="form-label">
|
||||||
Restaurer contacts
|
Restaurer contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -305,7 +290,7 @@
|
||||||
name="purge_contact"
|
name="purge_contact"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.PurgeContact %}checked{% endif %}
|
{% if Role.PurgeContact %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="purge_contact" class="form-label">
|
<label for="purge_contact" class="form-label">
|
||||||
Purger contacts (suppression définitive)
|
Purger contacts (suppression définitive)
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -321,7 +306,7 @@
|
||||||
name="convert_contact_to_member"
|
name="convert_contact_to_member"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if Role.ConvertContactToMember %}checked{% endif %}
|
{% if Role.ConvertContactToMember %}checked{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="convert_contact_to_member" class="form-label">
|
<label for="convert_contact_to_member" class="form-label">
|
||||||
Convertir contacts en membres
|
Convertir contacts en membres
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -335,6 +320,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<li class="breadcrumb-item active">Rôles</li>
|
<li class="breadcrumb-item active">Rôles</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 text-end">
|
<div class="my-3 text-end">
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{% if Roles %}
|
{% if Roles %}
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table">
|
<table class="table">
|
||||||
|
|
@ -33,9 +32,7 @@
|
||||||
{% for Role in Roles %}
|
{% for Role in Roles %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="/admin/roles/{{ Role.ID }}">
|
<a href="/admin/roles/{{ Role.ID }}"> {{ Role.Name }} </a>
|
||||||
{{ Role.Name }}
|
|
||||||
</a>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
@ -43,10 +40,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="my-4">
|
<div class="my-4">Pas de rôle pour le moment</div>
|
||||||
Pas de rôle pour le moment
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,17 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/sections">Sections</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/sections">Sections</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">{{ Section.Name }}</li>
|
<li class="breadcrumb-item active">{{ Section.Name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom</div>
|
||||||
Nom
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -25,14 +25,12 @@
|
||||||
value="{{ Section.Name }}"
|
value="{{ Section.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom technique</div>
|
||||||
Nom technique
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -40,14 +38,12 @@
|
||||||
value="{{ Section.ShortName }}"
|
value="{{ Section.ShortName }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Section parente</div>
|
||||||
Section parente
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Section.ParentSectionID %}
|
{% if Section.ParentSectionID %}
|
||||||
<input
|
<input
|
||||||
|
|
@ -56,84 +52,55 @@
|
||||||
value="{{ Section.ParentSection.Name }}"
|
value="{{ Section.ParentSection.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Peut contenir des membres</div>
|
||||||
Peut contenir des membres
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Section.ContainsMembers %}
|
{% if Section.ContainsMembers %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Peut contenir des contacts</div>
|
||||||
Peut contenir des contacts
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if Section.ContainsContacts %}
|
{% if Section.ContainsContacts %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -141,19 +108,26 @@
|
||||||
|
|
||||||
<div class="my-4 row">
|
<div class="my-4 row">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<a class="btn btn-outline-primary" href="/admin/sections/{{ Section.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/sections/{{ Section.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square"></i>
|
<i class="bi-pencil-square"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 text-end">
|
<div class="col-6 text-end">
|
||||||
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="modal-delete" class="modal" tabindex="-1">
|
<div id="modal-delete" class="modal" tabindex="-1">
|
||||||
|
|
@ -163,12 +137,20 @@
|
||||||
<p>Êtes-vous sûr de vouloir supprimer cette section ?</p>
|
<p>Êtes-vous sûr de vouloir supprimer cette section ?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<form action="/admin/sections/{{ Section.ID }}/delete" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/admin/sections/{{ Section.ID }}/delete"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,21 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/sections">Sections</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/sections">Sections</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
{% if Section.ID %}
|
{% if Section.ID %}
|
||||||
<li class="breadcrumb-item"><a href="/admin/sections/{{ Section.ID }}">{{ Section.Name }}</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/sections/{{ Section.ID }}">{{ Section.Name }}</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">Modifier</li>
|
<li class="breadcrumb-item active">Modifier</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="breadcrumb-item active">Ajouter</li>
|
<li class="breadcrumb-item active">Ajouter</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -31,11 +35,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="section" method="post">
|
<form id="section" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="name" class="form-label col-md-2">
|
<label for="name" class="form-label col-md-2"> Nom </label>
|
||||||
Nom
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
|
|
@ -46,7 +47,7 @@
|
||||||
value="{{ Section.Name }}"
|
value="{{ Section.Name }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -63,7 +64,7 @@
|
||||||
required
|
required
|
||||||
value="{{ Section.ShortName }}"
|
value="{{ Section.ShortName }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -81,9 +82,7 @@
|
||||||
disabled
|
disabled
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
>
|
||||||
<option value="0">
|
<option value="0">Choisir...</option>
|
||||||
Choisir...
|
|
||||||
</option>
|
|
||||||
{% if !IsParent %}
|
{% if !IsParent %}
|
||||||
{% for ParentSection in Sections %}
|
{% for ParentSection in Sections %}
|
||||||
<option
|
<option
|
||||||
|
|
@ -109,7 +108,7 @@
|
||||||
{% if Section.ContainsMembers %}
|
{% if Section.ContainsMembers %}
|
||||||
checked
|
checked
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="contains_members" class="form-label">
|
<label for="contains_members" class="form-label">
|
||||||
Contient des membres
|
Contient des membres
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -127,7 +126,7 @@
|
||||||
{% if Section.ContainsContacts %}
|
{% if Section.ContainsContacts %}
|
||||||
checked
|
checked
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="contains_contacts" class="form-label">
|
<label for="contains_contacts" class="form-label">
|
||||||
Contient des contacts
|
Contient des contacts
|
||||||
</label>
|
</label>
|
||||||
|
|
@ -141,6 +140,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<li class="breadcrumb-item active">Sections</li>
|
<li class="breadcrumb-item active">Sections</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 text-end">
|
<div class="my-3 text-end">
|
||||||
|
|
@ -71,10 +71,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="my-4">
|
<div class="my-4">Pas de section pour le moment</div>
|
||||||
Pas de section pour le moment
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -4,28 +4,27 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="login-card" class="my-5">
|
<div id="login-card" class="my-5">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">Enregistrement multifacteur (TOTP)</div>
|
||||||
Enregistrement multifacteur (TOTP)
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{% if MfaError %}
|
{% if MfaError %}
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">{{ MfaError }}</div>
|
||||||
{{ MfaError }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="lh-sm text-center">
|
<div class="lh-sm text-center">
|
||||||
Le double facteur protège l’application et
|
Le double facteur protège l’application et sécurise les données
|
||||||
sécurise les données personnelles de nos camarades.
|
personnelles de nos camarades. Même en cas de vol de mot de passe,
|
||||||
Même en cas de vol de mot de passe, l’accès est bloqué sans une
|
l’accès est bloqué sans une vérification supplémentaire.
|
||||||
vérification supplémentaire.
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-4 text-center">
|
<div class="my-4 text-center">
|
||||||
<img src="{{ QrCode }}" alt="Code QR">
|
<img src="{{ QrCode }}" alt="Code QR" />
|
||||||
|
|
||||||
<div class="mt-2">
|
<div class="mt-2">
|
||||||
<a href="javascript:;" data-bs-toggle="modal" data-bs-target="#modal-help">
|
<a
|
||||||
|
href="javascript:;"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-help"
|
||||||
|
>
|
||||||
<i class="bi-info-square"></i>
|
<i class="bi-info-square"></i>
|
||||||
Comment utiliser ce code QR ?
|
Comment utiliser ce code QR ?
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -44,12 +43,10 @@
|
||||||
name="secret"
|
name="secret"
|
||||||
disabled
|
disabled
|
||||||
value="{{ Secret }}"
|
value="{{ Secret }}"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="otp" class="form-label">
|
<label for="otp" class="form-label"> Code temporaire </label>
|
||||||
Code temporaire
|
|
||||||
</label>
|
|
||||||
<input
|
<input
|
||||||
id="otp"
|
id="otp"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
|
@ -59,7 +56,7 @@
|
||||||
placeholder="000000"
|
placeholder="000000"
|
||||||
pattern="[0-9]{6}"
|
pattern="[0-9]{6}"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-end">
|
<div class="text-end">
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
|
|
@ -78,19 +75,25 @@
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">Aide</h5>
|
<h5 class="modal-title">Aide</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn-close"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<ol>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
<b>Téléchargez une application d’authentification :</b>
|
<b>Téléchargez une application d’authentification :</b>
|
||||||
Installez une application compatible TOTP (comme Google Authenticator,
|
Installez une application compatible TOTP (comme Google
|
||||||
Microsoft Authenticator ou Authy) sur votre smartphone.
|
Authenticator, Microsoft Authenticator ou Authy) sur votre
|
||||||
|
smartphone.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Scannez le code QR :</b>
|
<b>Scannez le code QR :</b>
|
||||||
Ouvrez l'application, choisissez "Ajouter un compte" ou "Scanner un code QR",
|
Ouvrez l'application, choisissez "Ajouter un compte" ou "Scanner
|
||||||
puis utilisez votre appareil pour scanner le QR code affiché.
|
un code QR", puis utilisez votre appareil pour scanner le QR code
|
||||||
|
affiché.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Enregistrez le compte :</b>
|
<b>Enregistrez le compte :</b>
|
||||||
|
|
@ -99,7 +102,8 @@
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Testez le code :</b>
|
<b>Testez le code :</b>
|
||||||
Entrez le code généré dans l'application pour confirmer l’enrôlement.
|
Entrez le code généré dans l'application pour confirmer
|
||||||
|
l’enrôlement.
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,15 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="login-card" class="my-5">
|
<div id="login-card" class="my-5">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">Vérification multifacteur (TOTP)</div>
|
||||||
Vérification multifacteur (TOTP)
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{% if MfaError %}
|
{% if MfaError %}
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">{{ MfaError }}</div>
|
||||||
{{ MfaError }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="login" method="post">
|
<form id="login" method="post">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="otp" class="form-label">
|
<label for="otp" class="form-label"> Code temporaire </label>
|
||||||
Code temporaire
|
|
||||||
</label>
|
|
||||||
<input
|
<input
|
||||||
id="otp"
|
id="otp"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
|
@ -28,7 +22,7 @@
|
||||||
placeholder="000000"
|
placeholder="000000"
|
||||||
pattern="[0-9]{6}"
|
pattern="[0-9]{6}"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-end">
|
<div class="text-end">
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
|
|
|
||||||
111
views/user.html
111
views/user.html
|
|
@ -7,17 +7,17 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/users">Utilisateurs</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/users">Utilisateurs</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">{{ User.Name }}</li>
|
<li class="breadcrumb-item active">{{ User.Name }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Nom complet</div>
|
||||||
Nom complet
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -25,14 +25,12 @@
|
||||||
value="{{ User.Name }}"
|
value="{{ User.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Email</div>
|
||||||
Email
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
@ -40,92 +38,61 @@
|
||||||
value="{{ User.Email }}"
|
value="{{ User.Email }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Administrateur</div>
|
||||||
Administrateur
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if User.IsAdmin %}
|
{% if User.IsAdmin %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Ecran de bienvenue à la prochaine connexion</div>
|
||||||
Ecran de bienvenue à la prochaine connexion
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if User.SkipWelcome %}
|
{% if User.SkipWelcome %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Non" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Non"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-x-lg text-danger"></i>
|
<i class="bi-x-lg text-danger"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Oui" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Oui"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">Double facteur (TOTP)</div>
|
||||||
Double facteur (TOTP)
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
{% if User.TotpSecret.Valid %}
|
{% if User.TotpSecret.Valid %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
<i class="bi-check-lg text-success"></i>
|
<i class="bi-check-lg text-success"></i>
|
||||||
</span>
|
</span>
|
||||||
<input
|
<input type="text" class="form-control" value="Enrôlé" disabled />
|
||||||
type="text"
|
|
||||||
class="form-control"
|
|
||||||
value="Enrôlé"
|
|
||||||
disabled
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|
@ -137,23 +104,19 @@
|
||||||
class="form-control"
|
class="form-control"
|
||||||
value="Enrôlement lors de la prochaine connexion"
|
value="Enrôlement lors de la prochaine connexion"
|
||||||
disabled
|
disabled
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 mb-3">
|
<div class="mt-4 mb-3">
|
||||||
<span class="h4">
|
<span class="h4"> Permissions </span>
|
||||||
Permissions
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
{% if UserRoles %}
|
{% if UserRoles %}
|
||||||
{% for UserRole in UserRoles %}
|
{% for UserRole in UserRoles %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">{{ UserRole.Section.Name }}</div>
|
||||||
{{ UserRole.Section.Name }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
|
|
@ -165,36 +128,44 @@
|
||||||
value="{{ UserRole.Role.Name }}"
|
value="{{ UserRole.Role.Name }}"
|
||||||
disabled
|
disabled
|
||||||
readonly
|
readonly
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<div>
|
<div>Pas encore de permissions pour cet utilisateur.</div>
|
||||||
Pas encore de permissions pour cet utilisateur.
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="my-4 row">
|
<div class="my-4 row">
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<a class="btn btn-outline-primary" href="/admin/users/{{ User.ID }}/edit">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/users/{{ User.ID }}/edit"
|
||||||
|
>
|
||||||
<i class="bi-pencil-square me-1"></i>
|
<i class="bi-pencil-square me-1"></i>
|
||||||
Modifier
|
Modifier
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-outline-primary" href="/admin/users/{{ User.ID }}/permissions">
|
<a
|
||||||
|
class="btn btn-outline-primary"
|
||||||
|
href="/admin/users/{{ User.ID }}/permissions"
|
||||||
|
>
|
||||||
<i class="bi-key me-1"></i>
|
<i class="bi-key me-1"></i>
|
||||||
Permissions
|
Permissions
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 text-end">
|
<div class="col-6 text-end">
|
||||||
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-danger"
|
||||||
|
data-bs-toggle="modal"
|
||||||
|
data-bs-target="#modal-delete"
|
||||||
|
>
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="modal-delete" class="modal" tabindex="-1">
|
<div id="modal-delete" class="modal" tabindex="-1">
|
||||||
|
|
@ -204,12 +175,20 @@
|
||||||
<p>Êtes-vous sûr de vouloir supprimer cet utilisateur ?</p>
|
<p>Êtes-vous sûr de vouloir supprimer cet utilisateur ?</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-outline-secondary"
|
||||||
|
data-bs-dismiss="modal"
|
||||||
|
>
|
||||||
<i class="bi-x-lg me-1"></i>
|
<i class="bi-x-lg me-1"></i>
|
||||||
Annuler
|
Annuler
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<form action="/admin/users/{{ User.ID }}/delete" method="post" class="d-inline p-0">
|
<form
|
||||||
|
action="/admin/users/{{ User.ID }}/delete"
|
||||||
|
method="post"
|
||||||
|
class="d-inline p-0"
|
||||||
|
>
|
||||||
<button class="btn btn-outline-danger" type="submit">
|
<button class="btn btn-outline-danger" type="submit">
|
||||||
<i class="bi-trash3 me-1"></i>
|
<i class="bi-trash3 me-1"></i>
|
||||||
Supprimer
|
Supprimer
|
||||||
|
|
|
||||||
|
|
@ -7,17 +7,21 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/users">Utilisateurs</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/users">Utilisateurs</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
{% if User.ID %}
|
{% if User.ID %}
|
||||||
<li class="breadcrumb-item"><a href="/admin/users/{{ User.ID }}">{{ User.Name }}</a></li>
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/users/{{ User.ID }}">{{ User.Name }}</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">Modifier</li>
|
<li class="breadcrumb-item active">Modifier</li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li class="breadcrumb-item active">Ajouter</li>
|
<li class="breadcrumb-item active">Ajouter</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -31,11 +35,8 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<form id="user" method="post">
|
<form id="user" method="post">
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="name" class="form-label col-md-2">
|
<label for="name" class="form-label col-md-2"> Nom complet </label>
|
||||||
Nom complet
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
|
|
@ -46,14 +47,12 @@
|
||||||
value="{{ User.Name }}"
|
value="{{ User.Name }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="email" class="form-label col-md-2">
|
<label for="email" class="form-label col-md-2"> Email </label>
|
||||||
Email
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
|
|
@ -63,7 +62,7 @@
|
||||||
required
|
required
|
||||||
value="{{ User.Email }}"
|
value="{{ User.Email }}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -78,17 +77,13 @@
|
||||||
{% if User.IsAdmin %}
|
{% if User.IsAdmin %}
|
||||||
checked
|
checked
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
/>
|
||||||
<label for="is_admin" class="form-label">
|
<label for="is_admin" class="form-label"> Administrateur </label>
|
||||||
Administrateur
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<label for="password" class="form-label col-md-2">
|
<label for="password" class="form-label col-md-2"> Mot de passe </label>
|
||||||
Mot de passe
|
|
||||||
</label>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
|
|
@ -97,11 +92,9 @@
|
||||||
name="password"
|
name="password"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{% if !User.ID %}required{% endif %}
|
{% if !User.ID %}required{% endif %}
|
||||||
>
|
/>
|
||||||
{% if User.ID %}
|
{% if User.ID %}
|
||||||
<div class="form-text">
|
<div class="form-text">Laisser vide pour ne pas changer</div>
|
||||||
Laisser vide pour ne pas changer
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -115,13 +108,13 @@
|
||||||
id="reset_totp"
|
id="reset_totp"
|
||||||
name="reset_totp"
|
name="reset_totp"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
/>
|
||||||
<label for="reset_totp" class="form-label">
|
<label for="reset_totp" class="form-label">
|
||||||
Réinitialiser le double facteur (TOTP)
|
Réinitialiser le double facteur (TOTP)
|
||||||
</label>
|
</label>
|
||||||
<div class="form-text">
|
<div class="form-text">
|
||||||
Si la case est cochée, l'utilisateur devra effectuer
|
Si la case est cochée, l'utilisateur devra effectuer un enrôlement
|
||||||
un enrôlement TOTP à la prochaine connexion.
|
TOTP à la prochaine connexion.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -134,6 +127,5 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,16 @@
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
<li class="breadcrumb-item"><a href="/">Accueil</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
<li class="breadcrumb-item"><a href="/admin">Administration</a></li>
|
||||||
<li class="breadcrumb-item"><a href="/admin/users">Utilisateurs</a></li>
|
<li class="breadcrumb-item">
|
||||||
<li class="breadcrumb-item"><a href="/admin/users/{{ User.ID }}">{{ User.Name }}</a></li>
|
<a href="/admin/users">Utilisateurs</a>
|
||||||
|
</li>
|
||||||
|
<li class="breadcrumb-item">
|
||||||
|
<a href="/admin/users/{{ User.ID }}">{{ User.Name }}</a>
|
||||||
|
</li>
|
||||||
<li class="breadcrumb-item active">Permissions</li>
|
<li class="breadcrumb-item active">Permissions</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if Errors %}
|
{% if Errors %}
|
||||||
|
|
@ -27,12 +31,9 @@
|
||||||
|
|
||||||
{% if Sections %}
|
{% if Sections %}
|
||||||
<form id="user" method="post">
|
<form id="user" method="post">
|
||||||
|
|
||||||
{% for Section in Sections %}
|
{% for Section in Sections %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">{{ Section.Name }}</div>
|
||||||
{{ Section.Name }}
|
|
||||||
</div>
|
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text">
|
<span class="input-group-text">
|
||||||
|
|
@ -48,7 +49,6 @@
|
||||||
{% for Role in Roles %}
|
{% for Role in Roles %}
|
||||||
<option
|
<option
|
||||||
value="{{ Role.ID }}"
|
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
|
||||||
|
|
@ -72,10 +72,7 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="my-4">
|
<div class="my-4">Pas de section pour le moment</div>
|
||||||
Pas de section pour le moment
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
<li class="breadcrumb-item active">Utilisateurs</li>
|
<li class="breadcrumb-item active">Utilisateurs</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
<hr>
|
<hr />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="my-3 text-end">
|
<div class="my-3 text-end">
|
||||||
|
|
@ -35,13 +35,9 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span class="user-photo me-2">{{ User.Name|first }}</span>
|
<span class="user-photo me-2">{{ User.Name|first }}</span>
|
||||||
<a href="/admin/users/{{ User.ID }}">
|
<a href="/admin/users/{{ User.ID }}"> {{ User.Name }} </a>
|
||||||
{{ User.Name }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{{ User.Email }}
|
|
||||||
</td>
|
</td>
|
||||||
|
<td>{{ User.Email }}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if User.IsAdmin %}
|
{% if User.IsAdmin %}
|
||||||
<i class="bi-check-lg text-success me-1"></i>
|
<i class="bi-check-lg text-success me-1"></i>
|
||||||
|
|
@ -57,10 +53,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="my-4">
|
<div class="my-4">Pas d'utilisateurs pour le moment</div>
|
||||||
Pas d'utilisateurs pour le moment
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,7 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="login-card" class="my-5">
|
<div id="login-card" class="my-5">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header">
|
<div class="card-header">Paramètres du compte</div>
|
||||||
Paramètres du compte
|
|
||||||
</div>
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
{% if FormErrors %}
|
{% if FormErrors %}
|
||||||
<div class="alert alert-danger">
|
<div class="alert alert-danger">
|
||||||
|
|
@ -20,9 +18,7 @@
|
||||||
|
|
||||||
<form id="login" method="post">
|
<form id="login" method="post">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="email" class="form-label">
|
<label for="email" class="form-label"> Adresse email </label>
|
||||||
Adresse email
|
|
||||||
</label>
|
|
||||||
{% if EmailUpdate %}
|
{% if EmailUpdate %}
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
|
|
@ -32,7 +28,7 @@
|
||||||
required
|
required
|
||||||
value="{{ Email }}"
|
value="{{ Email }}"
|
||||||
autofocus
|
autofocus
|
||||||
>
|
/>
|
||||||
{% else %}
|
{% else %}
|
||||||
<input
|
<input
|
||||||
id="email"
|
id="email"
|
||||||
|
|
@ -41,13 +37,11 @@
|
||||||
name="email"
|
name="email"
|
||||||
disabled
|
disabled
|
||||||
value="{{ Email }}"
|
value="{{ Email }}"
|
||||||
>
|
/>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="name" class="form-label">
|
<label for="name" class="form-label"> Nom complet </label>
|
||||||
Nom complet
|
|
||||||
</label>
|
|
||||||
<input
|
<input
|
||||||
id="name"
|
id="name"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
|
@ -55,11 +49,10 @@
|
||||||
name="name"
|
name="name"
|
||||||
required
|
required
|
||||||
value="{{ Name }}"
|
value="{{ Name }}"
|
||||||
|
|
||||||
{% if !EmailUpdate %}
|
{% if !EmailUpdate %}
|
||||||
autofocus
|
autofocus
|
||||||
{% endif %}
|
{% endif %}
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="password" class="form-label">
|
<label for="password" class="form-label">
|
||||||
|
|
@ -71,7 +64,7 @@
|
||||||
type="password"
|
type="password"
|
||||||
name="password"
|
name="password"
|
||||||
required
|
required
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="password-verify" class="form-label">
|
<label for="password-verify" class="form-label">
|
||||||
|
|
@ -83,7 +76,7 @@
|
||||||
type="password"
|
type="password"
|
||||||
name="password-verify"
|
name="password-verify"
|
||||||
required
|
required
|
||||||
>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-end">
|
<div class="text-end">
|
||||||
<button class="btn btn-outline-primary" type="submit">
|
<button class="btn btn-outline-primary" type="submit">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue