From 561d5c60d769ea9a54441505e45caa2088e01a4b Mon Sep 17 00:00:00 2001 From: Tom Hubrecht Date: Thu, 30 Jan 2025 17:31:57 +0100 Subject: [PATCH] fix(dgsi): We can use is_staff now instead --- src/dgsi/mixins.py | 2 +- src/dgsi/models.py | 6 +----- src/dgsi/templates/dgsi/index.html | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/dgsi/mixins.py b/src/dgsi/mixins.py index 77da158..ea97851 100644 --- a/src/dgsi/mixins.py +++ b/src/dgsi/mixins.py @@ -13,7 +13,7 @@ class StaffRequiredMixin(UserPassesTestMixin): assert isinstance(self.request.user, User) - return self.request.user.is_admin + return self.request.user.is_staff def get_context_data(self, **kwargs): # NOTE: We are only allowed to do this if a class is supplied to the right when constructing the view diff --git a/src/dgsi/models.py b/src/dgsi/models.py index 69372c9..2abe8b7 100644 --- a/src/dgsi/models.py +++ b/src/dgsi/models.py @@ -205,12 +205,8 @@ class User(AbstractUser): logging.error(f"Erreur lors de la requête à Kanidm: {e}") return None - @property - def is_admin(self) -> bool: - return self.part_of(settings.DGSI_STAFF_GROUP) - def part_of(self, group: str) -> bool: - return (self.kanidm is not None) and group in self.kanidm.person.memberof + return (self.kanidm is not None) and (group in self.kanidm.person.memberof) def can_access_archive(self, archive: Archive) -> bool: # Prepare a more complex workflow diff --git a/src/dgsi/templates/dgsi/index.html b/src/dgsi/templates/dgsi/index.html index 840804a..028166c 100644 --- a/src/dgsi/templates/dgsi/index.html +++ b/src/dgsi/templates/dgsi/index.html @@ -10,7 +10,7 @@ {% endfor %} {% endif %} - {% if user.is_admin %} + {% if user.is_staff %}
{% for link in links.admin %} {% include "_index_link.html" %}