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

clean resubmit

parent 507a79aa
...@@ -383,37 +383,30 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet): ...@@ -383,37 +383,30 @@ 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 = model_to_dict(form_header)
new_instance = list(new_instance)
# save history in form header # save history in form header
crhistory_save( crhistory_save(
batchno, batchno,
...@@ -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( approver_add = {
code=approver.code).values() 'id': approver.id,
'action': None,
'remarks': None,
'date_sent': None,
'action_date': None
}
old_instance = list(old_instance) approver_data.append(approver_add)
# reset details change_request.form_add_edit_delete(
models.ChangeRequestFormApprovers.objects.filter( approver_data,
code=approver.code).update(action=None, models.ChangeRequestFormApprovers,
remarks=None, enums.CREntitiesEnum.CR_FRM_APPROVER.value,
date_sent=None, serializers.ChangeRequestFormApproversSerializer,
action_date=None) partial,
self,
# get new data form_code,
new_instance = models.ChangeRequestFormApprovers.objects.filter( batchno,
code=approver.code).values() enums.CREnum.RESUBMIT.value
)
new_instance = list(new_instance)
# save history in form approver message = status_message_response(
crhistory_save( 200, 'success',
batchno, 'Change request form successfully re submitted',
enums.CREnum.RESUBMIT.value, serializer.data
enums.CREnum.UPDATE.value,
enums.CREntitiesEnum.CR_FRM_APPROVER.value,
form_code,
old_instance,
new_instance
)
return Response(
"Change request form successfully resubmitted",
status=status.HTTP_200_OK
) )
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