You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 lines
696 B

from rest_framework.permissions import BasePermission
# from drf_keycloak_auth.authentication import KeycloakAuthentication
class UserPermission(BasePermission):
def has_permission(self, request, view):
kk_profile = request.auth
kk_roles = kk_profile.get('realm_access', {}).get('roles', [])
if getattr(view, 'action', None):
if view.action in [
'update_fact', 'update_postamat_id', 'update_status', 'retrieve',
'update', 'partial_update', 'destroy', 'create',
]:
return 'postnet_editor' in kk_roles
else:
return 'postnet_editor' in kk_roles or 'postnet_viewer' in kk_roles