58 lines
2.2 KiB
Python
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
|