Commit 54165229 authored by Gladys Forte's avatar Gladys Forte

Merge pull request #474 in RMS/api-main-service from gladys-dev2 to RMSv2

* commit '7fd8a54d':
  requestor delegation
parents bb338413 7fd8a54d
...@@ -278,7 +278,7 @@ def send_mail_requestor(current_user, ...@@ -278,7 +278,7 @@ def send_mail_requestor(current_user,
args = [name, action_by, routing_level, status, cr_number, cr_name, args = [name, action_by, routing_level, status, cr_number, cr_name,
company_requestedto, department_requestedto, priority_level, company_requestedto, department_requestedto, priority_level,
url, remarks, recipient, action_type, delegation_type, admin] url, remarks, recipient, action_type, delegation_type, admin]
main_threading(args, sender.routing_table_actions) main_threading(args, sender.routing_table_actions)
message = f"{sender_name} {msg} ({template_name})" message = f"{sender_name} {msg} ({template_name})"
......
...@@ -93,7 +93,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -93,7 +93,7 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
# @decorators.error_safe # @decorators.error_safe
@transaction.atomic @transaction.atomic
def create(self, request, *args, **kwargs): def create(self, request, args, *kwargs):
csv_file = request.FILES['file'] csv_file = request.FILES['file']
df = pd.read_csv(csv_file, sep=',', skiprows=0) df = pd.read_csv(csv_file, sep=',', skiprows=0)
logged_user_type = request.user.user_type logged_user_type = request.user.user_type
...@@ -107,13 +107,19 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -107,13 +107,19 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
) )
etl2 = ExtractTransformLoad.objects.get(id=etl.id) etl2 = ExtractTransformLoad.objects.get(id=etl.id)
enums_super = enums.UserTypeEnum.SUPER_USER.value
enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
enums_user = enums.UserTypeEnum.USER.value
for data, keys in df.iterrows(): for data, keys in df.iterrows():
try: try:
user_department = Department.objects.filter( user_department = Department.objects.filter(
Q(name__icontains=keys['department']) & Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company) Q(company__name__icontains=logged_user_company)
).first() ).first()
if logged_user_type == 'CUA': if logged_user_type == enums_company:
user_department = Department.objects.filter( user_department = Department.objects.filter(
Q(name__icontains=keys['department']) & Q(name__icontains=keys['department']) &
Q(company__name__icontains=logged_user_company) Q(company__name__icontains=logged_user_company)
...@@ -124,11 +130,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -124,11 +130,11 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
{"message": msg}, {"message": msg},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
elif logged_user_type == 'DUA': elif logged_user_type == enums_department:
user_department = Department.objects.get( user_department = Department.objects.get(
name__icontains=logged_user_department name__icontains=logged_user_department
) )
elif logged_user_type == 'USR': elif logged_user_type == enums_user:
return Response( return Response(
{"message": "Logged User is not allowed"}, {"message": "Logged User is not allowed"},
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
...@@ -142,12 +148,6 @@ class BatchUploadViewSet(viewsets.ModelViewSet): ...@@ -142,12 +148,6 @@ class BatchUploadViewSet(viewsets.ModelViewSet):
excel_code=keys['default_app'] excel_code=keys['default_app']
).first() ).first()
enums_super = enums.UserTypeEnum.SUPER_USER.value
enums_OUA = enums.UserTypeEnum.OVERALL_USER_ADMIN.value
enums_company = enums.UserTypeEnum.COMPANY_USER_ADMIN.value
enums_department = enums.UserTypeEnum.DEPARTMENT_USER_ADMIN.value
enums_user = enums.UserTypeEnum.USER.value
if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super: if keys['user_type'].lower() == 'super user' and logged_user_type == enums_super:
user_type = enums.UserTypeEnum.SUPER_USER.value user_type = enums.UserTypeEnum.SUPER_USER.value
elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super: elif keys['user_type'].lower() == 'super user' and logged_user_type != enums_super:
......
...@@ -42,7 +42,7 @@ class DelegationViewSet(viewsets.ModelViewSet): ...@@ -42,7 +42,7 @@ class DelegationViewSet(viewsets.ModelViewSet):
) )
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset().exclude(name='Requestor')) queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset) page = self.paginate_queryset(queryset)
......
...@@ -620,8 +620,18 @@ def cr_routing_actions(approver_instance, current_user): ...@@ -620,8 +620,18 @@ def cr_routing_actions(approver_instance, current_user):
date_sent=datetime.now() date_sent=datetime.now()
) )
level = last_action_vendor.level + 1 level = last_action_vendor.level
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level__gt=int(level))
).update(
is_action=False,
action=None,
remarks=None,
action_date=None,
date_sent=None
)
# else: # else:
# update_form_header_status(form_code, 'Rejected') # update_form_header_status(form_code, 'Rejected')
...@@ -636,16 +646,6 @@ def cr_routing_actions(approver_instance, current_user): ...@@ -636,16 +646,6 @@ def cr_routing_actions(approver_instance, current_user):
# remarks, level # remarks, level
# ) # )
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level__gte=int(level))
).update(
is_action=False,
action=None,
remarks=None,
action_date=None,
date_sent=None
)
elif approver_instance['action'].lower() == 'rejected': elif approver_instance['action'].lower() == 'rejected':
# send email to vendor # send email to vendor
......
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