Commit be15ebe4 authored by Gladys Forte's avatar Gladys Forte

update submit and create

parent 8741a306
...@@ -554,6 +554,13 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -554,6 +554,13 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
date_sent=datetime.now() date_sent=datetime.now()
) )
the_last_vendor = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code, level=str(next_level),
delegation='Vendor/Implementor'
).first()
print(the_last_vendor)
elif action.lower() == 'rejected': elif action.lower() == 'rejected':
# send email to vendor # send email to vendor
...@@ -745,20 +752,15 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -745,20 +752,15 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
# generate requested template id # generate requested template id
# generate_template_id( requested_to_template_id = generate_template_id(
# CR_Prefix, form_data['requested_to_template_id'],
# frm_id, form_code,
# template_no, form_data['template_no'])
# batchno,
# enums.CREnum.CREATE.value,
# enums.CREnum.ADD.value,
# serializer.data
# )
data_update = { data_update = {
"status": 'Pending', "status": 'Pending',
"created": datetime.now(), "created": datetime.now(),
"requested_to_template_id": "JTC" "requested_to_template_id": requested_to_template_id
} }
data = {**form_data, **data_update} data = {**form_data, **data_update}
...@@ -780,15 +782,16 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -780,15 +782,16 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
print(serializer.errors) print(serializer.errors)
# save history in form header # save history in form header
crhistory_save( crhistory_create_save(
batchno, batchno,
enums.CREnum.SUBMIT.value, enums.CREnum.SUBMIT.value,
enums.CREnum.UPDATE.value, enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_HEADER.value, enums.CREntitiesEnum.CR_FRM_HEADER.value,
form_code, form_code,
old_instance, old_instance,
new_instance new_instance,
) requested_to_template_id,
form_data['template_no'])
change_request.form_add_edit_delete( change_request.form_add_edit_delete(
form_data['frm_approvers'], form_data['frm_approvers'],
...@@ -1034,25 +1037,8 @@ class ChangeRequestFormPost(APIView): ...@@ -1034,25 +1037,8 @@ class ChangeRequestFormPost(APIView):
if serializer.is_valid(raise_exception=True): if serializer.is_valid(raise_exception=True):
serializer.save() serializer.save()
if serializer.data['status'].lower() == 'pending':
template_no = serializer.data['template_no']
CR_Prefix = serializer.data['requested_to_template_id']
frm_id = serializer.data['form_code'] frm_id = serializer.data['form_code']
# generate batchno history
batchno = get_max_batchno("batch")
# generate requested template id
generate_template_id(
CR_Prefix,
frm_id,
template_no,
batchno,
enums.CREnum.CREATE.value,
enums.CREnum.ADD.value,
serializer.data
)
# create template approvers # create template approvers
frm_approvers = form_header['frm_approvers'] frm_approvers = form_header['frm_approvers']
counter = 0 counter = 0
...@@ -1126,6 +1112,40 @@ class ChangeRequestFormPost(APIView): ...@@ -1126,6 +1112,40 @@ class ChangeRequestFormPost(APIView):
if serializerDetail.is_valid(raise_exception=True): if serializerDetail.is_valid(raise_exception=True):
serializerDetail.save() serializerDetail.save()
# if status is pending send initial email and
# generate template id
if serializer.data['status'].lower() == 'pending':
template_no = serializer.data['template_no']
CR_Prefix = serializer.data['requested_to_template_id']
# generate batchno history
batchno = get_max_batchno("batch")
# generate requested template id
requested_to_template_id = generate_template_id(
CR_Prefix, frm_id, template_no
)
#save to history for request template id tracking
crhistory_create_save(
batchno,
enums.CREnum.CREATE.value,
enums.CREnum.ADD.value,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
frm_id,
'',
serializer.data,
requested_to_template_id,
template_no)
min_level = models.ChangeRequestFormApprovers.objects.filter(
form_code=frm_id
).aggregate(Min('level'))
min_level = min_level.get('level__min')
next_approver_email(frm_id, min_level)
message = { message = {
'code': 201, 'code': 201,
'status': 'success', 'status': 'success',
......
...@@ -475,20 +475,19 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code, ...@@ -475,20 +475,19 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code,
def generate_template_id(prefix, def generate_template_id(prefix,
form_code, form_code,
template_no, template_no):
batchno,
main_action,
action,
serializer_data):
try: try:
max_id = models.ChangeRequestHistory.objects.filter( max_id = models.ChangeRequestHistory.objects.filter(
template_no=template_no).count() Q(template_no=template_no) &
Q(entity=enums.CREntitiesEnum.CR_FRM_HEADER.value) &
if max_id: (Q(main_action=enums.CREnum.CREATE.value) |
max_batch = max_id.batch_no.split("-") Q(main_action=enums.CREnum.SUBMIT.value))
max_batch = int(max_batch[2].lstrip("0")) + 1 ).count()
requested_to_template_id = number_generator(prefix, max_batch)
if max_id > 0:
max_id = max_id + 1
requested_to_template_id = number_generator(prefix, max_id)
else: else:
requested_to_template_id = number_generator(prefix, 1) requested_to_template_id = number_generator(prefix, 1)
except: except:
...@@ -498,23 +497,11 @@ def generate_template_id(prefix, ...@@ -498,23 +497,11 @@ def generate_template_id(prefix,
form_code=form_code).update( form_code=form_code).update(
requested_to_template_id=requested_to_template_id) requested_to_template_id=requested_to_template_id)
# save history in form header return requested_to_template_id
crhistory_create_save(
batchno,
main_action,
action,
enums.CREntitiesEnum.CR_FRM_HEADER.value,
form_code,
serializer_data,
requested_to_template_id,
template_no
)
return True
def crhistory_create_save(batch_no, main_action, def crhistory_create_save(batch_no, main_action,
action, entity, form_code, action, entity, form_code, fromValue,
toValue, requested_to_template_id, template_no): toValue, requested_to_template_id, template_no):
models.ChangeRequestHistory.objects.create( models.ChangeRequestHistory.objects.create(
...@@ -523,7 +510,7 @@ def crhistory_create_save(batch_no, main_action, ...@@ -523,7 +510,7 @@ def crhistory_create_save(batch_no, main_action,
action=action, action=action,
entity=entity, entity=entity,
form_code=form_code, form_code=form_code,
fromValue='', fromValue=fromValue,
toValue=toValue, toValue=toValue,
requested_to_template_id=requested_to_template_id, requested_to_template_id=requested_to_template_id,
template_no=template_no template_no=template_no
......
This diff is collapsed.
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