17 lines
636 B
Python
17 lines
636 B
Python
|
|
from rest_framework import permissions
|
||
|
|
from users.models import User
|
||
|
|
from users.serializers import UserSerializer
|
||
|
|
|
||
|
|
|
||
|
|
class NormalPermissionCheck(permissions.BasePermission):
|
||
|
|
def has_permission(self, request, view):
|
||
|
|
return request.user and request.user.is_staff
|
||
|
|
|
||
|
|
def has_object_permission(self, request, view, obj):
|
||
|
|
objs = User.objects.get(id=request.user.id)
|
||
|
|
permissions_list = []
|
||
|
|
for item in UserSerializer(objs).data["roles"]:
|
||
|
|
add_item = [x["permission_value"] for x in item["role_permission"]]
|
||
|
|
permissions_list.extend(add_item)
|
||
|
|
return obj.id in permissions_list
|