Commit a741afc9 authored by Gladys Forte's avatar Gladys Forte

requestor and poc condition

parent 95fdb241
......@@ -158,7 +158,7 @@ class ForgotPassword(APIView):
f"?token={TOKEN}"
args = [str(PASSCODE), str(url), user, str(existingUser.email),
str(existingUser.username)]
str(existingUser.name)]
# t1 = threading.Thread(target=sender.forgot_password, args=(args,))
# t1.start()
......
......@@ -759,7 +759,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).update(status='Rejected')
elif action.lower() == 'completed':
# EMAIL CODE FOR REQUESTOR
requestor_notification_msg = REQUESTOR_COMPLETION_MESSAGE.split(';')[0]
......@@ -774,10 +774,19 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
).update(
date_sent=datetime.now()
)
the_last_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, delegation='Vendor/Implementor'
).order_by('level').last()
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
).update(status='Completed')
if current_user == the_last_vendor.user.code:
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
).update(status='Completed')
else:
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
).update(status='Approved')
elif action.lower() == 'acknowledged':
......@@ -854,7 +863,19 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
requestor = serializer.validated_data['requested_by_user'].code
poc = serializer.validated_data['requested_to_user'].code
if requestor == poc:
message = {
'code': 400,
'status': 'failed',
'message': 'Cannot assign same user on point of contact and requestor',
}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
else:
self.perform_update(serializer)
new_instance = serializer.data
print(serializer.errors)
......@@ -964,8 +985,19 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
requestor = serializer.validated_data['requested_by_user'].code
poc = serializer.validated_data['requested_to_user'].code
if requestor == poc:
message = {
'code': 400,
'status': 'failed',
'message': 'Cannot assign same user on point of contact and requestor',
}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
else:
self.perform_update(serializer)
form_header = get_object_or_404(models.ChangeRequestFormHeader,
pk=instance.id)
......@@ -1201,8 +1233,18 @@ class ChangeRequestFormPost(APIView):
data=form_header_data)
if serializer.is_valid(raise_exception=True):
serializer.save()
requestor = serializer.validated_data['requested_by_user'].code
poc = serializer.validated_data['requested_to_user'].code
if requestor == poc:
message = {
'code': 400,
'status': 'failed',
'message': 'Cannot assign same user on point of contact and requestor',
}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
else:
serializer.save()
frm_id = serializer.data['form_code']
# create form approvers
......@@ -1213,26 +1255,6 @@ class ChangeRequestFormPost(APIView):
counter = counter + 1
data_list_approver.append(frm_approver)
#append vendor and requestor in routing table
# counter = counter + 1
# vendor_data = {
# 'level': counter,
# 'delegation': 'Vendor/Implementor',
# 'user': form_header['requested_to_user'],
# 'form_code': frm_id
# }
# data_list_approver.append(vendor_data)
# counter = counter + 1
# requestor_data = {
# 'level': counter,
# 'delegation': 'Requestor',
# 'user': form_header['requested_by_user'],
# 'form_code': frm_id
# }
# data_list_approver.append(requestor_data)
serializerApprover = ChangeRequestFormApproversSerializer(
data=data_list_approver, many=True)
......
......@@ -84,7 +84,6 @@ def tmp_add_edit_delete(tmp_request_body,
self.perform_create(serializer)
new_instance = serializer.data
try:
log_save(
enums.LogEnum.ADD.value,
enum_type,
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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