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

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

* commit '63a74211':
  fix error on reset password admin level
parents a8b19491 63a74211
......@@ -233,7 +233,7 @@ class UserViewSet(viewsets.ModelViewSet):
url_path='reset-password',
name="Reset Password of User")
@decorators.error_safe
@rms.user_create
@rms.reset_password
@transaction.atomic
def ResetPassword(self, request, code=None):
......
......@@ -93,6 +93,31 @@ class rms:
return function(self, request, *args, **kwargs)
return wrapper
@staticmethod
def reset_password(function):
@wraps(function)
def wrapper(self, request, *args, **kwargs):
if rms.user_type(self) == rms.enums_user:
raise ParseError(
rms.access_error
)
elif rms.user_type(self) == rms.enums_department:
if request.user.department.code != rms.user(self).department.code:
raise ParseError(
rms.department_error
)
elif rms.user_type(self) == rms.enums_company:
user_company = rms.user(self).department.company
request_department = Department.objects.filter(
Q(code=request.user.department.code) &
Q(company=user_company)
)
if not request_department:
raise ParseError(rms.company_error)
return function(self, request, *args, **kwargs)
return wrapper
@staticmethod
def company_crate(function):
@wraps(function)
......
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