Commit 93ea28fe authored by Gladys Forte's avatar Gladys Forte

clean resubmit

parent 507a79aa
...@@ -383,36 +383,29 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -383,36 +383,29 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
) )
def re_submit(self, request, *args, **kwargs): def re_submit(self, request, *args, **kwargs):
form_code = kwargs['form_code']
# generate batchno history # generate batchno history
batchno = get_max_batchno("batch") batchno = get_max_batchno("batch")
# get old data # partial update
old_instance = models.ChangeRequestFormHeader.objects.filter( partial = kwargs.pop('partial', True)
form_code=form_code).values() instance = self.get_object()
old_instance = list(old_instance) form_code = kwargs['form_code']
# get template no status_update = {"status": 'Draft'}
tmp_no = models.ChangeRequestFormHeader.objects.values_list(
'template_no', flat=True).get(form_code=form_code)
# get prefix of template serializer = self.get_serializer(instance,
CR_Prefix = models.ChangeRequestTemplateHeader.objects.values_list( data=status_update,
'requested_to_template_id', flat=True).get(template_no=tmp_no) partial=partial)
# update form header to draft and template id to prefix serializer.is_valid(raise_exception=True)
models.ChangeRequestFormHeader.objects.filter( old_instance = model_to_dict(instance)
form_code=form_code).update( self.perform_update(serializer)
requested_to_template_id=CR_Prefix,
status='Draft')
# get new data form_header = get_object_or_404(models.ChangeRequestFormHeader,
new_instance = models.ChangeRequestFormHeader.objects.filter( pk=instance.id)
form_code=form_code).values()
new_instance = list(new_instance) new_instance = model_to_dict(form_header)
# save history in form header # save history in form header
crhistory_save( crhistory_save(
...@@ -425,46 +418,43 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -425,46 +418,43 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance new_instance
) )
approver_data = []
# get all approvers of form # get all approvers of form
approvers = models.ChangeRequestFormApprovers.objects.filter( approvers = models.ChangeRequestFormApprovers.objects.filter(
form_code=form_code) form_code=form_code)
for approver in approvers: for approver in approvers:
# get old data
old_instance = models.ChangeRequestFormApprovers.objects.filter(
code=approver.code).values()
old_instance = list(old_instance) approver_add = {
'id': approver.id,
# reset details 'action': None,
models.ChangeRequestFormApprovers.objects.filter( 'remarks': None,
code=approver.code).update(action=None, 'date_sent': None,
remarks=None, 'action_date': None
date_sent=None, }
action_date=None)
# get new data
new_instance = models.ChangeRequestFormApprovers.objects.filter(
code=approver.code).values()
new_instance = list(new_instance) approver_data.append(approver_add)
# save history in form approver change_request.form_add_edit_delete(
crhistory_save( approver_data,
batchno, models.ChangeRequestFormApprovers,
enums.CREnum.RESUBMIT.value,
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value, enums.CREntitiesEnum.CR_FRM_APPROVER.value,
serializers.ChangeRequestFormApproversSerializer,
partial,
self,
form_code, form_code,
old_instance, batchno,
new_instance enums.CREnum.RESUBMIT.value
) )
return Response( message = status_message_response(
"Change request form successfully resubmitted", 200, 'success',
status=status.HTTP_200_OK 'Change request form successfully re submitted',
serializer.data
) )
return Response(message, status=status.HTTP_200_OK)
# actions # actions
@action( @action(
methods=['PATCH'], detail=False, methods=['PATCH'], detail=False,
......
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