Add permissions to menus

This commit is contained in:
William Bouzourène 2025-01-17 16:21:16 +01:00
parent 886fa77278
commit 1dc135f8f9
Signed by: bouzoure
SSH key fingerprint: SHA256:19MbXpLua4rUtk8tunMesD8KUKb91LXLHg8E/qTooww
4 changed files with 52 additions and 16 deletions

View file

@ -18,6 +18,8 @@ type TemplatesGlobals struct {
UserIsAdmin bool
TimeStart time.Time
ColorMode string
AllowMembersPage bool
AllowContactsPage bool
}
func TemplatesMiddleware(c *fiber.Ctx) error {
@ -59,6 +61,28 @@ func TemplatesMiddleware(c *fiber.Ctx) error {
globals.UserFullname = user.Name
globals.UserIsAdmin = user.IsAdmin
}
showMember, _ := helpers.PermissionsGetSections(
userid.(uint), "show_member",
)
showArchivedMember, _ := helpers.PermissionsGetSections(
userid.(uint), "show_archived_member",
)
if len(showMember) > 0 || len(showArchivedMember) > 0 {
globals.AllowMembersPage = true
}
showContact, _ := helpers.PermissionsGetSections(
userid.(uint), "show_contact",
)
showArchivedContact, _ := helpers.PermissionsGetSections(
userid.(uint), "show_archived_contact",
)
if len(showContact) > 0 || len(showArchivedContact) > 0 {
globals.AllowContactsPage = true
}
}
totpVerified := sess.Get("totp-verified")

View file

@ -17,7 +17,7 @@
<a class="dashboard-tile" href="/admin/sections">
<div class="alert alert-primary">
<i class="bi-building me-2"></i>
Gestion des <b>sections</b>
Gestion des sections
</div>
</a>
</div>
@ -25,7 +25,7 @@
<a class="dashboard-tile" href="/admin/lists">
<div class="alert alert-primary">
<i class="bi-list-check me-2"></i>
Gestion des <b>listes</b>
Gestion des listes
</div>
</a>
</div>
@ -33,7 +33,7 @@
<a class="dashboard-tile" href="/admin/fields">
<div class="alert alert-primary">
<i class="bi-database-add me-2"></i>
Gestion des <b>champs supplémentaires</b>
Gestion des champs supplémentaires
</div>
</a>
</div>
@ -41,7 +41,7 @@
<a class="dashboard-tile" href="/admin/users">
<div class="alert alert-primary">
<i class="bi-person-square me-2"></i>
Gestion des <b>utilisateurs</b>
Gestion des utilisateurs
</div>
</a>
</div>
@ -49,7 +49,7 @@
<a class="dashboard-tile" href="/admin/roles">
<div class="alert alert-primary">
<i class="bi-briefcase me-2"></i>
Gestion des <b>utilisateurs</b>
Gestion des utilisateurs
</div>
</a>
</div>

View file

@ -12,29 +12,35 @@
</div>
<div class="row">
{% if Globals.AllowMembersPage %}
<div class="col-md-6">
<a class="dashboard-tile" href="/members">
<div class="alert alert-primary">
<i class="bi-people me-2"></i>
Gestion des <b>membres</b>
Gestion des membres
</div>
</a>
</div>
{% endif %}
{% if Globals.AllowContactsPage %}
<div class="col-md-6">
<a class="dashboard-tile" href="/contacts">
<div class="alert alert-primary">
<i class="bi-telephone me-2"></i>
Gestion des <b>contacts</b>
Gestion des contacts
</div>
</a>
</div>
{% endif %}
{% if Globals.UserIsAdmin %}
<div class="col-md-6">
<a class="dashboard-tile" href="/admin">
<div class="alert alert-primary">
<i class="bi-gear me-2"></i>
<b>Administration</b> de l'application
Administration de l'application
</div>
</a>
</div>

View file

@ -22,16 +22,22 @@
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
{% if Globals.TotpVerified %}
{% if Globals.AllowMembersPage %}
<li class="nav-item">
<a class="nav-link active" href="/members">
<i class="bi-people acti me-2"></i>Membres
</a>
</li>
{% endif %}
{% if Globals.AllowContactsPage %}
<li class="nav-item">
<a class="nav-link active" href="/contacts">
<i class="bi-telephone me-2"></i>Contacts
</a>
</li>
{% endif %}
{% if Globals.UserIsAdmin %}
<ul class="navbar-nav me-auto mb-2 mb-lg-0">