diff --git a/registry/templates/admin/index.html b/registry/templates/admin/index.html index 3ddb1bc7398b257f2be004c179a9c4a5af8713a0..834866cf238c91b8f6a64496c0e198221679e69c 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 4369cfa09953f8508ff173d76abb533c0d0160e1..99f97b6a47a6759f990b35ec7ee6c51caf08895f 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