From cfa66e1a98910846a18eddcd6178bd41705de082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org> Date: Tue, 2 May 2023 21:10:03 +0200 Subject: [PATCH] add permissions to admin page --- registry/templates/admin/index.html | 16 ++++++++------- users/models.py | 31 +++++++++++++---------------- 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/registry/templates/admin/index.html b/registry/templates/admin/index.html index 3ddb1bc..834866c 100644 --- a/registry/templates/admin/index.html +++ b/registry/templates/admin/index.html @@ -34,12 +34,14 @@ {{ block.super }} -<h2>Tvá oprávnění</h2> - -<ul> - {% for permission in request.user.get_all_permissions_ordered %} - <li>{{ permission }}</li> - {% endfor %} -</ul> +<div style="width:100%;float:left;padding-top:0.5rem;margin-top:0.5rem;border-top:1px solid var(--hairline-color)"> + <h2>Tvá oprávnění</h2> + + <ul> + {% for permission in request.user.get_all_permissions_ordered %} + <li>{{ permission }}</li> + {% endfor %} + </ul> +</div> {% endblock %} diff --git a/users/models.py b/users/models.py index 4369cfa..99f97b6 100644 --- a/users/models.py +++ b/users/models.py @@ -92,23 +92,20 @@ class User(pirates_models.AbstractUser): #print(permissions_set) - permissions = ( - Permission. - objects. - filter( - models.Q(group__in=self.groups.all()) | - models.Q(user=self) - ). - distinct(). - all() - #Permission. - #objects. - #filter(codename__in=permissions_set). - #order_by("name"). - #all() - ) - - print(permissions) + if not self.is_superuser: + permissions = ( + Permission. + objects. + filter( + models.Q(content_type__name=self.groups.all()) | + models.Q(user=self) + ). + order_by("content_type__app_label"). + distinct(). + all() + ) + else: + permissions = Permission.objects.order_by("content_type__app_label").all() return permissions -- GitLab