Commit 59a98920 authored by Gladys Forte's avatar Gladys Forte

{dev bugfix} fix server error 500 on form post due to remove key company_desc,...

{dev bugfix} fix server error 500 on form post due to remove key company_desc, deprtment_desc, requested_desc
parent 7ca91e3e
...@@ -881,14 +881,14 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -881,14 +881,14 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
form_code = kwargs['form_code'] form_code = kwargs['form_code']
form_data = request.data form_data = request.data
# Restrict a requestor to submit a CR without atleast 1 approver # Restrict a requestor to submit a CR without atleast 1 approver
counter = change_request_template.validation_existing_approver( counter = change_request_template.validation_existing_approver(
form_data['frm_approvers']) form_data['frm_approvers'])
if counter == 0: if counter == 0:
return error_message('400', 'Please select at least 1 approver before submitting this request.', return error_message('400', 'Please select at least 1 approver before submitting this request.',
'failed', status.HTTP_400_BAD_REQUEST) 'failed', status.HTTP_400_BAD_REQUEST)
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
...@@ -1194,13 +1194,14 @@ class ChangeRequestFormPost(APIView): ...@@ -1194,13 +1194,14 @@ class ChangeRequestFormPost(APIView):
@FormValidation @FormValidation
@transaction.atomic() @transaction.atomic()
def post(self, request): def post(self, request):
form_header = request.data form_header = request.data
try: try:
data_list_approver = [] data_list_approver = []
data_list_stake = [] data_list_stake = []
data_list_attach = [] data_list_attach = []
data_list_detail = [] data_list_detail = []
form_header_data = { form_header_data = {
'requested_to_template_name': form_header['requested_to_template_name'], 'requested_to_template_name': form_header['requested_to_template_name'],
'requested_to_template_id': form_header['requested_to_template_id'], 'requested_to_template_id': form_header['requested_to_template_id'],
...@@ -1209,9 +1210,9 @@ class ChangeRequestFormPost(APIView): ...@@ -1209,9 +1210,9 @@ class ChangeRequestFormPost(APIView):
'requested_to_priority': form_header['requested_to_priority'], 'requested_to_priority': form_header['requested_to_priority'],
'description': form_header['description'], 'description': form_header['description'],
'status': form_header['status'], 'status': form_header['status'],
'company_desc': form_header['company_desc'], 'company_desc': None,
'department_desc': form_header['department_desc'], 'department_desc': None,
'requested_desc': form_header['requested_desc'], 'requested_desc': None,
'requested_by_department': form_header['requested_by_department'], 'requested_by_department': form_header['requested_by_department'],
'requested_by_user': form_header['requested_by_user'], 'requested_by_user': form_header['requested_by_user'],
'requested_to_company': form_header['requested_to_company'], 'requested_to_company': form_header['requested_to_company'],
...@@ -1219,7 +1220,7 @@ class ChangeRequestFormPost(APIView): ...@@ -1219,7 +1220,7 @@ class ChangeRequestFormPost(APIView):
'requested_to_user': form_header['requested_to_user'], 'requested_to_user': form_header['requested_to_user'],
'template_no': form_header['template_no'] 'template_no': form_header['template_no']
} }
sp1 = transaction.savepoint() # nothing will save to db sp1 = transaction.savepoint() # nothing will save to db
serializer = ChangeRequestFormHeaderSerializer( serializer = ChangeRequestFormHeaderSerializer(
...@@ -1239,7 +1240,7 @@ class ChangeRequestFormPost(APIView): ...@@ -1239,7 +1240,7 @@ class ChangeRequestFormPost(APIView):
serializer.save() serializer.save()
frm_id = serializer.data['form_code'] frm_id = serializer.data['form_code']
# create form approvers # create form approvers
frm_approvers = form_header['frm_approvers'] frm_approvers = form_header['frm_approvers']
for frm_approver in frm_approvers: for frm_approver in frm_approvers:
...@@ -1387,7 +1388,7 @@ class ChangeRequestFormPost(APIView): ...@@ -1387,7 +1388,7 @@ class ChangeRequestFormPost(APIView):
except Exception as e: except Exception as e:
transaction.savepoint_rollback(sp1) transaction.savepoint_rollback(sp1)
message = { message = {
'code': 500, 'code': 500,
'status': 'failed', 'status': 'failed',
......
...@@ -138,8 +138,9 @@ def validation_approver_same_level(approvers): ...@@ -138,8 +138,9 @@ def validation_approver_same_level(approvers):
for approver in approvers: for approver in approvers:
if 'user' in approver and 'level' in approver: if 'user' in approver and 'level' in approver:
data_list_appr.append(approver) if not approver['user'] is None:
data_list_appr.append(approver)
# add checking # add checking
approvers_data = sorted(data_list_appr, approvers_data = sorted(data_list_appr,
key=itemgetter('level', 'user')) key=itemgetter('level', 'user'))
......
...@@ -358,7 +358,7 @@ def FormValidation(function): ...@@ -358,7 +358,7 @@ def FormValidation(function):
@wraps(function) @wraps(function)
def wrapper(self, request, *args, **kwargs): def wrapper(self, request, *args, **kwargs):
form_header = request.data form_header = request.data
required = {'requested_to_template_name': 'CR Name', required = {'requested_to_template_name': 'CR Name',
'requested_to_target_date': 'Date Required', 'requested_to_target_date': 'Date Required',
'requested_to_company': 'Company', 'requested_to_company': 'Company',
...@@ -391,9 +391,10 @@ def FormValidation(function): ...@@ -391,9 +391,10 @@ def FormValidation(function):
return error_message('400', 'Please add Vendor/Implementor and Requestor into routing table', return error_message('400', 'Please add Vendor/Implementor and Requestor into routing table',
'failed', status.HTTP_400_BAD_REQUEST) 'failed', status.HTTP_400_BAD_REQUEST)
# Do not allow adding an approver for the same level # Do not allow adding an approver for the same level
validation_result = validation_approver_same_level(frm_approvers) validation_result = validation_approver_same_level(frm_approvers)
if validation_result is not None: if validation_result is not None:
return error_message('400', validation_result + ' is already exist for the same level of approval.', return error_message('400', validation_result + ' is already exist for the same level of approval.',
'failed', status.HTTP_400_BAD_REQUEST) 'failed', status.HTTP_400_BAD_REQUEST)
...@@ -416,6 +417,6 @@ def FormValidation(function): ...@@ -416,6 +417,6 @@ def FormValidation(function):
if validate is True: if validate is True:
return error_message('400', 'Vendor/Implementor cannot have same level with other delegation/s', return error_message('400', 'Vendor/Implementor cannot have same level with other delegation/s',
'failed', status.HTTP_400_BAD_REQUEST) 'failed', status.HTTP_400_BAD_REQUEST)
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