Add BS modals when confirmation needed

This commit is contained in:
William Bouzourène 2025-01-23 14:54:31 +01:00
parent e5b564539e
commit 59b1e32c29
Signed by: bouzoure
SSH key fingerprint: SHA256:19MbXpLua4rUtk8tunMesD8KUKb91LXLHg8E/qTooww
7 changed files with 400 additions and 171 deletions

View file

@ -1,11 +1,3 @@
$(document).ready(function() {
$(".areyousure").on("click", function(e) {
if(!confirm("Êtes-vous sûr ?")) {
e.preventDefault();
}
});
});
$(document).ready(function() {
$(".toggle-dark-mode").on("click", function() {
var currentState = $("html").attr("data-bs-theme");

View file

@ -72,8 +72,8 @@
Liste
</div>
<div class="col-md-10">
<div class="input-group">
{% if Field.ListID %}
{% if Field.ListID %}
<div class="input-group">
<input
type="text"
class="form-control"
@ -104,22 +104,43 @@
</div>
</div>
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/fields/{{ Field.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
<form
action="/admin/fields/{{ Field.ID }}/delete"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
<div class="row my-4">
<div class="col-6">
<a class="btn btn-outline-primary" href="/admin/fields/{{ Field.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
</div>
<div class="col-6 text-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
<div id="modal-delete" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
<p>Êtes-vous sûr de vouloir supprimer ce champ ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
<form action="/admin/fields/{{ Field.ID }}/delete" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -62,21 +62,19 @@
</div>
</div>
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/lists/{{ List.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
<form
action="/admin/lists/{{ List.ID }}/delete"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
<div class="my-4 row">
<div class="col-6">
<a class="btn btn-md btn-outline-primary" href="/admin/lists/{{ List.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
</div>
<div class="col-6 text-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
<div class="my-3 row">
@ -84,7 +82,7 @@
Contenu de la liste
</div>
<div class="col-sm-3 text-end">
<a class="btn btn-md btn-primary" href="/admin/lists/{{ List.ID }}/items/add">
<a class="btn btn-md btn-outline-primary" href="/admin/lists/{{ List.ID }}/items/add">
<i class="bi-plus-lg"></i>
Ajouter
</a>
@ -119,16 +117,10 @@
{% endif %}
</td>
<td class="text-end">
<form
action="/admin/lists/{{ List.ID }}/items/{{ Item.ID }}/delete"
method="post"
class="d-inline p-0"
>
<button class="btn btn-sm btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
Supprimer
</button>
</form>
<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>
Supprimer
</button>
</td>
</tr>
{% endfor %}
@ -142,4 +134,53 @@
{% endif %}
</div>
<div id="modal-delete" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
<p>Êtes-vous sûr de vouloir supprimer cette liste ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
<form action="/admin/lists/{{ List.ID }}/delete" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
</div>
{% for Item in ListItems %}
<div id="modal-delete-value-{{ Item.ID }}" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
<p>Êtes-vous sûr de vouloir supprimer cette valeur ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
<form action="/admin/lists/{{ List.ID }}/items/{{ Item.ID }}/delete" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
</div>
{% endfor %}
{% endblock %}

View file

@ -266,70 +266,47 @@
{% if !Person.DeletedAt.Valid %}
{% if PermEdit %}
<a class="btn btn-md btn-primary" href="/members/{{ Person.ID }}/edit">
<a class="btn btn-outline-primary" href="/members/{{ Person.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
{% endif %}
{% if PermConvert %}
<form
action="/members/{{ Person.ID }}/convert"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-secondary areyousure" type="submit">
<i class="bi-arrow-repeat"></i>
Convertir en contact
</button>
</form>
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-convert">
<i class="bi-arrow-repeat"></i>
Convertir en contact
</button>
{% endif %}
{% endif %}
</div>
<div class="col-md-6 text-md-end mt-2 mt-md-0">
{% if Person.DeletedAt.Valid %}
{% if PermRestore %}
<form
action="/members/{{ Person.ID }}/restore"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-secondary areyousure" type="submit">
<i class="bi-person-check"></i>
Restaurer
</button>
</form>
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-restore">
<i class="bi-person-check"></i>
Restaurer
</button>
{% endif %}
{% else %}
{% if PermArchive %}
<form
action="/members/{{ Person.ID }}/archive"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-secondary areyousure" type="submit">
<i class="bi-person-slash"></i>
Archiver
</button>
</form>
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-archive">
<i class="bi-person-slash"></i>
Archiver
</button>
{% endif %}
{% endif %}
{% if PermPurge %}
<form
action="/members/{{ Person.ID }}/purge"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
Supprimer
</button>
</form>
<button class="btn btn-outline-danger" type="button" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3"></i>
Supprimer
</button>
{% endif %}
</div>
@ -340,61 +317,199 @@
<div class="row">
<div class="col-md-6">
{% if !Person.DeletedAt.Valid %}
<a class="btn btn-md btn-primary" href="/contacts/{{ Person.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
<form
action="/contacts/{{ Person.ID }}/convert"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-secondary areyousure" type="submit">
<i class="bi-arrow-repeat"></i>
Convertir en membre
</button>
</form>
{% if PermEdit %}
<a class="btn btn-outline-primary" href="/contacts/{{ Person.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
{% endif %}
{% if PermConvert %}
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-convert">
<i class="bi-arrow-repeat"></i>
Convertir en membre
</button>
{% endif %}
{% endif %}
</div>
<div class="col-md-6 text-md-end mt-2 mt-md-0">
{% if Person.DeletedAt.Valid %}
<form
action="/contacts/{{ Person.ID }}/restore"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-secondary areyousure" type="submit">
{% if PermRestore %}
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-restore">
<i class="bi-person-check"></i>
Restaurer
</button>
</form>
{% endif %}
{% else %}
<form
action="/contacts/{{ Person.ID }}/archive"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-secondary areyousure" type="submit">
{% if PermArchive %}
<button class="btn btn-outline-secondary" type="button" data-bs-toggle="modal" data-bs-target="#modal-archive">
<i class="bi-person-slash"></i>
Archiver
</button>
</form>
{% endif %}
{% endif %}
<form
action="/contacts/{{ Person.ID }}/purge"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
{% if PermPurge %}
<button class="btn btn-outline-danger" type="button" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3"></i>
Supprimer
</button>
</form>
{% endif %}
</div>
</div>
{% endif %}
</div>
</div>
<div id="modal-delete" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
{% if Person.IsMember %}
<p>Êtes-vous sûr de vouloir supprimer ce membre ?</p>
{% else %}
<p>Êtes-vous sûr de vouloir supprimer ce contact ?</p>
{% endif %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
{% if Person.IsMember %}
<form action="/members/{{ Person.ID }}/purge" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
{% else %}
<form action="/contacts/{{ Person.ID }}/purge" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
{% endif %}
</div>
</div>
</div>
</div>
<div id="modal-archive" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
{% if Person.IsMember %}
<p>Êtes-vous sûr de vouloir archiver ce membre ?</p>
{% else %}
<p>Êtes-vous sûr de vouloir archiver ce contact ?</p>
{% endif %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
{% if Person.IsMember %}
<form action="/members/{{ Person.ID }}/archive" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-primary" type="submit">
<i class="bi-person-slash"></i>
Archiver
</button>
</form>
{% else %}
<form action="/contacts/{{ Person.ID }}/archive" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-primary" type="submit">
<i class="bi-person-slash"></i>
Archiver
</button>
</form>
{% endif %}
</div>
</div>
</div>
</div>
<div id="modal-restore" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
{% if Person.IsMember %}
<p>Êtes-vous sûr de vouloir restaurer ce membre ?</p>
{% else %}
<p>Êtes-vous sûr de vouloir restaurer ce contact ?</p>
{% endif %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
{% if Person.IsMember %}
<form action="/members/{{ Person.ID }}/restore" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-primary" type="submit">
<i class="bi-person-check"></i>
Restaurer
</button>
</form>
{% else %}
<form action="/contacts/{{ Person.ID }}/restore" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-primary" type="submit">
<i class="bi-person-check"></i>
Restaurer
</button>
</form>
{% endif %}
</div>
</div>
</div>
</div>
<div id="modal-convert" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
{% if Person.IsMember %}
<p>Êtes-vous sûr de vouloir convertir ce membre en contact ?</p>
{% else %}
<p>Êtes-vous sûr de vouloir convertir ce contact en membre ?</p>
{% endif %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
{% if Person.IsMember %}
<form action="/members/{{ Person.ID }}/convert" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-primary" type="submit">
<i class="bi-arrow-repeat"></i>
Convertir
</button>
</form>
{% else %}
<form action="/contacts/{{ Person.ID }}/convert" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-primary" type="submit">
<i class="bi-arrow-repeat"></i>
Convertir
</button>
</form>
{% endif %}
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -569,22 +569,43 @@
</div>
</div>
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/roles/{{ Role.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
<form
action="/admin/roles/{{ Role.ID }}/delete"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
<div class="my-4 row">
<div class="col-6">
<a class="btn btn-md btn-outline-primary" href="/admin/roles/{{ Role.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
</div>
<div class="col-6 text-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
<div id="modal-delete" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
<p>Êtes-vous sûr de vouloir supprimer ce rôle ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
<form action="/admin/roles/{{ Role.ID }}/delete" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -139,22 +139,43 @@
</div>
</div>
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/sections/{{ Section.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
<form
action="/admin/sections/{{ Section.ID }}/delete"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
<div class="my-4 row">
<div class="col-6">
<a class="btn btn-md btn-outline-primary" href="/admin/sections/{{ Section.ID }}/edit">
<i class="bi-pencil-square"></i>
Modifier
</a>
</div>
<div class="col-6 text-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
<div id="modal-delete" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
<p>Êtes-vous sûr de vouloir supprimer cette section ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
<form action="/admin/sections/{{ Section.ID }}/delete" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
</div>
{% endblock %}

View file

@ -176,29 +176,47 @@
</div>
{% endif %}
<div class="my-4">
<a class="btn btn-md btn-primary" href="/admin/users/{{ User.ID }}/edit">
<i class="bi-pencil-square me-1"></i>
Modifier
</a>
<a class="btn btn-md btn-primary" href="/admin/users/{{ User.ID }}/permissions">
<i class="bi-key me-1"></i>
Permissions
</a>
{% if User.ID != Globals.UserID %}
<form
action="/admin/users/{{ User.ID }}/delete"
method="post"
class="d-inline p-0"
>
<button class="btn btn-md btn-danger areyousure" type="submit">
<i class="bi-trash3"></i>
<div class="my-4 row">
<div class="col-6">
<a class="btn btn-md btn-outline-primary" href="/admin/users/{{ User.ID }}/edit">
<i class="bi-pencil-square me-1"></i>
Modifier
</a>
<a class="btn btn-md btn-outline-primary" href="/admin/users/{{ User.ID }}/permissions">
<i class="bi-key me-1"></i>
Permissions
</a>
</div>
<div class="col-6 text-end">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#modal-delete">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
{% endif %}
</div>
</div>
</div>
<div id="modal-delete" class="modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-body">
<p>Êtes-vous sûr de vouloir supprimer cet utilisateur ?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">
<i class="bi-x-lg me-1"></i>
Annuler
</button>
<form action="/admin/users/{{ User.ID }}/delete" method="post" class="d-inline p-0">
<button class="btn btn-md btn-outline-danger" type="submit">
<i class="bi-trash3 me-1"></i>
Supprimer
</button>
</form>
</div>
</div>
</div>
</div>
{% endblock %}