commit
7e044ac854
@ -1,14 +1,16 @@
|
|||||||
from rest_framework.permissions import BasePermission
|
from rest_framework.permissions import BasePermission
|
||||||
|
# from drf_keycloak_auth.authentication import KeycloakAuthentication
|
||||||
|
|
||||||
|
|
||||||
class UserPermission(BasePermission):
|
class UserPermission(BasePermission):
|
||||||
def has_permission(self, request, view):
|
def has_permission(self, request, view):
|
||||||
if view.action in [
|
kk_profile = request.auth
|
||||||
'update_fact', 'update_postamat_id', 'update_status', 'retrieve',
|
kk_roles = kk_profile.get('realm_access', {}).get('roles', [])
|
||||||
'update', 'partial_update', 'destroy', 'create',
|
if getattr(view, 'action', None):
|
||||||
]:
|
if view.action in [
|
||||||
return request.user.groups.filter(name='Редактор').exists()
|
'update_fact', 'update_postamat_id', 'update_status', 'retrieve',
|
||||||
|
'update', 'partial_update', 'destroy', 'create',
|
||||||
|
]:
|
||||||
|
return 'postnet_editor' in kk_roles
|
||||||
else:
|
else:
|
||||||
return request.user.groups.filter(
|
return 'postnet_editor' in kk_roles or 'postnet_viewer' in kk_roles
|
||||||
name__in=('Зритель', 'Редактор'),
|
|
||||||
).exists()
|
|
||||||
|
|||||||
Loading…
Reference in new issue