Files
RasadDam_Backend/apps/authentication/permissions.py

58 lines
2.2 KiB
Python

from apps.authorization import models as authorize_models
from apps.authentication.models import OrganizationType
from apps.core import permissions
class CreateUser(permissions.BasePermission):
"""
@permission: superuser can add users
"""
def has_permission(self, request, view):
user_level_info = self.get_user_permissions(request, view)
if 'superuser' in user_level_info['permissions']:
if 'organization' in request.data.keys():
org_type = OrganizationType.objects.get( # noqa
id=request.data['organization']['type']
)
print(org_type.key)
if 'J' in user_level_info['organization_type']:
return True
if 'U' in user_level_info['organization_type']:
if org_type.key == 'J' or org_type.key == 'U':
return False
else:
return True
if 'CO' in user_level_info['organization_type']:
if org_type.key == 'J' or org_type.key == 'U' or org_type.key == 'CO':
return False
else:
return True
return True
class CreateOrganization(permissions.BasePermission):
"""
@permission for adding organization
"""
def has_permission(self, request, view):
user_level_info = self.get_user_permissions(request, view)
if 'superuser' in user_level_info['permissions']:
org_type = OrganizationType.objects.get( # noqa
id=request.data['organization']['type']
)
print(org_type.key)
if 'J' in user_level_info['organization_type']:
return True
if 'U' in user_level_info['organization_type']:
if org_type.key == 'J' or org_type.key == 'U':
return False
else:
return True
if 'CO' in user_level_info['organization_type']:
if org_type.key == 'J' or org_type.key == 'U' or org_type.key == 'CO':
return False
else:
return True