Commit ce8a8e0f authored by John Red Medrano's avatar John Red Medrano

Merge pull request #747 in RMS/api-main-service from core-dev-red-develop to RMSv2

* commit '46c4cce0':
  {dev bugfixed} on validation of user type equals to user
  {dev bugfix} removed usage of parse error on account validation
parents 32fcfbe1 46c4cce0
...@@ -47,7 +47,7 @@ class rms: ...@@ -47,7 +47,7 @@ class rms:
enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
enums_user = enums.UserTypeEnum.USER.value enums_user = enums.UserTypeEnum.USER.value
access_error = "Logged user is not allowed to access this endpoint." access_error = "Logged user is unauthorize to make another user"
department_error = 'Department should be same with the logged user' department_error = 'Department should be same with the logged user'
company_error = 'Company should be same with the logged user' company_error = 'Company should be same with the logged user'
...@@ -67,14 +67,20 @@ class rms: ...@@ -67,14 +67,20 @@ class rms:
def user_create(function): def user_create(function):
@wraps(function) @wraps(function)
def wrapper(self, request, *args, **kwargs): def wrapper(self, request, *args, **kwargs):
print(rms.user_type(self))
if rms.user_type(self) == rms.enums_user: if rms.user_type(self) == rms.enums_user:
raise ParseError( # raise ParseError(
rms.access_error # rms.access_error
# )
return Response(
{"message": rms.access_error},
status=status.HTTP_400_BAD_REQUEST
) )
elif rms.user_type(self) == rms.enums_department: elif rms.user_type(self) == rms.enums_department:
if request.data['department'] != rms.user(self).department.code: if request.data['department'] != rms.user(self).department.code:
raise ParseError( return Response(
rms.department_error {"message": rms.department_error},
status=status.HTTP_400_BAD_REQUEST
) )
elif rms.user_type(self) == rms.enums_company: elif rms.user_type(self) == rms.enums_company:
user_company = rms.user(self).department.company user_company = rms.user(self).department.company
...@@ -83,8 +89,10 @@ class rms: ...@@ -83,8 +89,10 @@ class rms:
Q(company=user_company) Q(company=user_company)
) )
if not request_department: if not request_department:
raise ParseError(rms.company_error) return Response(
{"message": rms.company_error},
status=status.HTTP_400_BAD_REQUEST
)
return function(self, request, *args, **kwargs) return function(self, request, *args, **kwargs)
return wrapper return wrapper
...@@ -98,9 +106,12 @@ class rms: ...@@ -98,9 +106,12 @@ class rms:
if username.count() >= 1: if username.count() >= 1:
return Response( return Response(
{ {
"message": f"username {username.first().username} is already taken", "message": f"username {username.first().username} is already taken"
},status=status.HTTP_400_BAD_REQUEST },
status=status.HTTP_400_BAD_REQUEST
) )
# rms.user_create(self, request, *args, **kwargs)
return function(self, request, *args, **kwargs) return function(self, request, *args, **kwargs)
return wrapper return wrapper
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment