This commit is contained in:
javad committed 2024-01-22 13:01:42 +03:30
commit 89a5d70512
284 files changed
+8364

No files matched your search

+79
View File
@@ -0,0 +1,79 @@
from rest_framework import permissions
from utils.get_user_workspace import *
from utils.get_cuser_role import *
from apps.shop.models import Order as OrderModel
from utils.get_cuser_role import get_cuser_role_uuid
from apps.cuser.models import CuserRole as CuserRoleModel
workspace_group = [
'workspace_owner',
]
workspace_admin_up = [
'workspace_owner',
'workspace_admin',
]
workspace_operator_up = [
'workspace_owner',
'workspace_admin',
'workspace_operator',
]
class WorkspaceOwnerPermission(permissions.BasePermission):
required_groups = workspace_group
def has_permission(self, request, view):
cuser_role_uuid = get_cuser_role_uuid(request)
cuser_role = CuserRoleModel.objects.select_related('role_type').get(uuid=cuser_role_uuid)
if cuser_role.role_type.role_name_en in self.required_groups:
return True
else:
return False
class WorkspaceAdminPermission(permissions.BasePermission):
required_groups = workspace_admin_up
def has_permission(self, request, view):
cuser_role_uuid = get_cuser_role_uuid(request)
cuser_role = CuserRoleModel.objects.select_related('role_type').get(uuid=cuser_role_uuid)
if cuser_role.role_type.role_name_en in self.required_groups:
return True
else:
return False
class WorkspaceOperatorPermission(permissions.BasePermission):
required_groups = workspace_operator_up
def has_permission(self, request, view):
cuser_role_uuid = get_cuser_role_uuid(request)
cuser_role = CuserRoleModel.objects.select_related('role_type').get(uuid=cuser_role_uuid)
if cuser_role.role_type.role_name_en in self.required_groups:
return True
else:
return False
class WorkspaceCustomerPermission(permissions.BasePermission):
required_groups = [
'workspace_owner',
'workspace_admin',
'workspace_operator',
'workspace_customer',
]
def has_permission(self, request, view):
cuser_role_uuid = get_cuser_role_uuid(request)
cuser_role = CuserRoleModel.objects.select_related('role_type').get(uuid=cuser_role_uuid)
if cuser_role.role_type.role_name_en in self.required_groups:
return True
else:
return False