Commit fea815fa authored by Gladys Forte's avatar Gladys Forte

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

* commit 'cd98baab':
  updated DB
  update submit
parents 1a40d0d8 cd98baab
......@@ -20,13 +20,14 @@ import requests
from django.conf import settings
from rest_framework.exceptions import ValidationError
from django.db import transaction, IntegrityError, connection
from app.applicationlayer.utils import QuerySetHelper
from app.applicationlayer.utils import QuerySetHelper, status_message_response
from app.businesslayer.changerequest import change_request
from app.applicationlayer.cms.utils_cr import (number_generator,
send_mail_requestor,
next_approver_email,
crhistory_save,
send_mail_vendor)
send_mail_vendor,
get_max_batchno)
from app.entities import enums
from django.forms.models import model_to_dict
import json
......@@ -267,6 +268,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
serializer = self.get_serializer(instance)
return Response(serializer.data)
@action(
methods=['PATCH'], detail=True,
url_path='re_route', url_name='re_route'
......@@ -275,6 +277,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
form_code = kwargs['form_code']
# generate batchno history
batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
......@@ -293,7 +298,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form header
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.REROUTE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
......@@ -315,8 +320,10 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# reset details
models.ChangeRequestFormApprovers.objects.filter(
code=approver.code).update(action=None, remarks=None,
date_sent=None, created=None)
code=approver.code).update(action=None,
remarks=None,
date_sent=None,
action_date=None)
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
......@@ -326,7 +333,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.REROUTE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -348,6 +355,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
form_code = kwargs['form_code']
# generate batchno history
batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
......@@ -358,20 +368,14 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
tmp_no = models.ChangeRequestFormHeader.objects.values_list(
'template_no', flat=True).get(form_code=form_code)
# count total records in cr
frm_count = models.ChangeRequestFormHeader.objects.all().count()
frm_count = frm_count + 1
# get prefix of template
CR_Prefix = models.ChangeRequestTemplateHeader.objects.values_list(
'requested_to_template_id', flat=True).get(template_no=tmp_no)
# generate new template id
generate_tmp = number_generator(CR_Prefix, frm_count)
# update form header to draft and update new template id
# update form header to draft and template id to prefix
models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).update(requested_to_template_id=generate_tmp,
form_code=form_code).update(
requested_to_template_id=CR_Prefix,
status='Draft')
# get new data
......@@ -382,7 +386,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form header
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.RESUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
......@@ -404,8 +408,10 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# reset details
models.ChangeRequestFormApprovers.objects.filter(
code=approver.code).update(action=None, remarks=None,
date_sent=None, created=None)
code=approver.code).update(action=None,
remarks=None,
date_sent=None,
action_date=None)
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
......@@ -415,7 +421,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.RESUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -447,6 +453,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
next_level = int(request.data['level']) + 1
remarks = request.data['remarks']
# generate batchno history
batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter(
pk=id).values()
......@@ -468,7 +477,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
crenum = action.upper()
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
"ACTION",
crenum,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -602,6 +611,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# get pk
frm_id = models.ChangeRequestFormHeader.objects.get(form_code=form_code)
# generate batchno history
batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
......@@ -626,7 +638,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form header
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
......@@ -667,7 +679,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -706,7 +718,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -741,7 +753,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -781,7 +793,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
......@@ -816,7 +828,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
......@@ -849,7 +861,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
......@@ -890,7 +902,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
......@@ -928,7 +940,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
......@@ -966,7 +978,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
......@@ -1007,7 +1019,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
......@@ -1043,7 +1055,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
......@@ -1076,7 +1088,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SAVE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
......@@ -1085,7 +1097,14 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance
)
return Response(serializer.data)
serializer = self.get_serializer(frm_id)
message = status_message_response(
200, 'success',
'Change Request successfully saved', serializer.data
)
return Response(message, status=status.HTTP_200_OK)
@action(
......@@ -1100,6 +1119,9 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# get pk
frm_id = models.ChangeRequestFormHeader.objects.get(form_code=form_code)
# generate batchno history
batchno = get_max_batchno("batch")
# get old data
old_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
......@@ -1116,6 +1138,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
if serializer.is_valid():
serializer.save()
print(serializer.errors)
# get new data
new_instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code).values()
......@@ -1124,7 +1147,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form header
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
......@@ -1165,7 +1188,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -1204,7 +1227,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -1239,7 +1262,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
......@@ -1279,7 +1302,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
......@@ -1314,7 +1337,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
......@@ -1347,7 +1370,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_STAKE.value,
......@@ -1388,7 +1411,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
......@@ -1426,7 +1449,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
......@@ -1464,7 +1487,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_ATTACHMENT.value,
......@@ -1505,7 +1528,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.DELETED.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
......@@ -1541,7 +1564,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
......@@ -1574,7 +1597,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
# save history in form approver
crhistory_save(
"BATCH-20190920-000001",
batchno,
enums.CREnum.SUBMIT.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_DETAIL.value,
......@@ -1583,7 +1606,14 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance
)
return Response(serializer.data)
serializer = self.get_serializer(frm_id)
message = status_message_response(
200, 'success',
'Change Request successfully submitted', serializer.data
)
return Response(message, status=status.HTTP_200_OK)
class ChangeRequestFormApproversViewset(meviewsets.ModelViewSet):
......
......@@ -396,6 +396,23 @@ def cancel_overdue(request):
return True
def get_max_batchno(request):
try:
max_id = models.ChangeRequestHistory.objects.all(
).order_by("-batch_no")[0]
if max_id:
max_batch = max_id.batch_no.split("-")
max_batch = int(max_batch[2].lstrip("0")) + 1
batchno = number_generator("BATCH", max_batch)
else:
batchno = number_generator("BATCH", 1)
except:
batchno = number_generator("BATCH", 1)
return batchno
def crhistory_save(batch_no, main_action,
action, entity, form_code,
fromValue, toValue):
......
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