Commit ca0ed5e2 authored by Gladys Forte's avatar Gladys Forte

Restrict a requestor to submit a CR without atleast 1 approver v2

parent 4bacf8a9
......@@ -1231,23 +1231,24 @@ class ChangeRequestFormPost(APIView):
counter = 0
for frm_approver in frm_approvers:
frm_approver['form_code'] = frm_id
counter = counter + 1
if frm_approver['delegation'] not in ['DELEGATION-20191119-0000002', 'DELEGATION-20191119-0000001']:
counter = counter + 1
data_list_approver.append(frm_approver)
if counter == 2 and serializer.data['status'].lower() == 'pending':
transaction.savepoint_rollback(sp1)
message = {
'code': 400,
'status': 'failed',
'message': 'Please select at least 1 approver before submitting this request.',
}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
serializerApprover = ChangeRequestFormApproversSerializer(
data=data_list_approver, many=True)
if serializerApprover.is_valid(raise_exception=True):
if serializer.data['status'].lower() == 'pending' and counter == 0:
transaction.savepoint_rollback(sp1)
message = {
'code': 400,
'status': 'failed',
'message': 'Please select at least 1 approver before submitting this request.',
}
return Response(message, status=status.HTTP_400_BAD_REQUEST)
serializerApprover.save()
# create form stakes
......
......@@ -386,12 +386,16 @@ class ChangeRequestTemplatePost(APIView):
tmp_approver['template_no'] = tmp_id
data_list_approver.append(tmp_approver)
# add checking
# Do not allow adding an approver for the same level.
# Message "This approver is already existing for the same level of approval." (CR Temp and CR Form)
serializerApprover = ChangeRequestTemplateApproversSerializer(
data=data_list_approver, many=True)
if serializerApprover.is_valid(raise_exception=True):
serializerApprover.save()
# create template stakes
if template_header['tmp_stakes']:
tmp_stakes = template_header['tmp_stakes']
......
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