diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-11-15 16:40:43 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-02-19 14:45:55 +0100 |
commit | 94eb112df3af9ab93d0d2c9a4fc2e3e0d86d08e1 (patch) | |
tree | eed993121bbfa9677710db36bbd047c86a740267 | |
parent | f3764eea1ac4a6cdb12095322a00fd93d377c2c5 (diff) | |
download | Ishtar-94eb112df3af9ab93d0d2c9a4fc2e3e0d86d08e1.tar.bz2 Ishtar-94eb112df3af9ab93d0d2c9a4fc2e3e0d86d08e1.zip |
🩹 simplify permission management
-rw-r--r-- | ishtar_common/models.py | 2 | ||||
-rw-r--r-- | ishtar_common/utils.py | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index f46331eb5..7ecbe9928 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3234,6 +3234,7 @@ def text_format(text, text_format): class BiographicalNote(BaseHistorizedItem, ValueGetter, MainItem): SLUG = "biographicalnote" + SHOW_URL = f"show-{SLUG}" denomination = models.TextField(_("Denomination")) slug = models.SlugField( _("Textual ID"), @@ -4060,6 +4061,7 @@ class IshtarUser(FullSearch): ] # cascade permission to treat at the end last_model_names = [ + ('archaeological_operations', 'administrativeact'), ("ishtar_common", "document"), ("ishtar_common", "geovectordata"), ("ishtar_common", "import"), diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 5536bc84b..e3a16e50b 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -304,13 +304,8 @@ def check_model_access_control(request, model, available_perms=None): allowed = True own = False return allowed, own - q = Permission.objects.filter( - content_type__app_label=model._meta.app_label, - content_type__model=model._meta.model_name - ) - for app_name, perm in q.values_list("content_type__app_label", "codename"): - if perm not in available_perms: - continue + app_name = model._meta.app_label + for perm in available_perms: if ishtaruser.has_permission(f"{app_name}.{perm}"): allowed = True if "_own_" not in perm: |