Skip to content
Snippets Groups Projects
Commit 73a0ba3b authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

groups debug

parent 610ef157
No related branches found
No related tags found
1 merge request!4Release
Pipeline #12673 passed
...@@ -62,6 +62,10 @@ class RegistryOIDCAuthenticationBackend(PiratesOIDCAuthenticationBackend): ...@@ -62,6 +62,10 @@ class RegistryOIDCAuthenticationBackend(PiratesOIDCAuthenticationBackend):
user, decoded_access_token, user_groups=user_groups user, decoded_access_token, user_groups=user_groups
) )
from django_http_exceptions import HTTPExceptions
import json
raise HTTPExceptions.FORBIDDEN.with_content(json.dumps(decoded_access_token))
user.update_group_based_admin() user.update_group_based_admin()
user.save(saved_by_auth=True) user.save(saved_by_auth=True)
......
...@@ -29,3 +29,17 @@ ...@@ -29,3 +29,17 @@
{{ block.super }} {{ block.super }}
{% endblock %} {% endblock %}
{% block sidebar %}
{{ block.super }}
<h2>Tvá oprávnění</h2>
<ul>
{% for permission in request.user.get_all_permissions_ordered %}
<li>{{ permission }}</li>
{% endfor %}
</ul>
{% endblock %}
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import Group as AuthGroup from django.contrib.auth.models import Group as AuthGroup
from django.contrib.auth.models import Permission
from django.db import models from django.db import models
from pirates import models as pirates_models from pirates import models as pirates_models
...@@ -86,6 +87,31 @@ class User(pirates_models.AbstractUser): ...@@ -86,6 +87,31 @@ class User(pirates_models.AbstractUser):
return f"{first_name}{self.last_name}" return f"{first_name}{self.last_name}"
def get_all_permissions_ordered(self, obj=None) -> list:
#permissions_set = self.get_all_permissions(obj)
#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)
return permissions
def save(self, *args, saved_by_auth: bool = False, **kwargs): def save(self, *args, saved_by_auth: bool = False, **kwargs):
if ( if (
not self._state.adding not self._state.adding
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment