Commit 0866ff33 authored by Gladys Forte's avatar Gladys Forte

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

* commit '208bbf4a':
  restore template
  archive temp
  archive template
parents 57f80e77 208bbf4a
...@@ -1174,7 +1174,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1174,7 +1174,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
status=status.HTTP_200_OK status=status.HTTP_200_OK
) )
#restore archived CR #restore archived CR # comment
def partial_update(self, request, *args, **kwargs): def partial_update(self, request, *args, **kwargs):
try: try:
kwargs['partial'] = True kwargs['partial'] = True
......
...@@ -75,7 +75,6 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -75,7 +75,6 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
queryset = self.filter_queryset(self.get_queryset()) queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.filter(created_by_user=request.user.code) queryset = queryset.filter(created_by_user=request.user.code)
self.serializer_class = ChangeRequestTemplatesSerializerList self.serializer_class = ChangeRequestTemplatesSerializerList
page = self.paginate_queryset(queryset) page = self.paginate_queryset(queryset)
...@@ -110,6 +109,15 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -110,6 +109,15 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
template_no = self.kwargs['template_no'] template_no = self.kwargs['template_no']
existing_transaction = models.ChangeRequestFormHeader.objects.filter(
template_no=template_no
)
if existing_transaction.count() > 0:
models.ChangeRequestTemplateHeader.objects.filter(
template_no=template_no
).update(is_active=False)
else:
enum_approver = enums.LogEntitiesEnum.ChangeRequestTemplateApprovers.value enum_approver = enums.LogEntitiesEnum.ChangeRequestTemplateApprovers.value
enum_stake = enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value enum_stake = enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value
enum_attach = enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value enum_attach = enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value
...@@ -165,8 +173,9 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -165,8 +173,9 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
header, enum_header, header, enum_header,
models.ChangeRequestTemplateHeader models.ChangeRequestTemplateHeader
) )
return Response({"message": "Deleted"}, status=status.HTTP_200_OK) return Response({"message": "Deleted"}, status=status.HTTP_200_OK)
return Response({"message": "Archived"}, status=status.HTTP_200_OK)
except Exception as e: except Exception as e:
return Response(e, return Response(e,
status=status.HTTP_500_INTERNAL_SERVER_ERROR) status=status.HTTP_500_INTERNAL_SERVER_ERROR)
...@@ -260,6 +269,69 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -260,6 +269,69 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
status=status.HTTP_400_BAD_REQUEST status=status.HTTP_400_BAD_REQUEST
) )
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
queryset = queryset.filter(created_by_user=self.request.user.code,
is_active=False)
self.serializer_class = ChangeRequestTemplatesSerializerList
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'List of Archived Templates found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(self.queryset, many=True)
return Response(
serializer.data,
status=status.HTTP_200_OK
)
#restore archived CR Template
@transaction.atomic
@action(
methods=['PATCH'], detail=True,
url_path='restore', url_name='restore'
)
def restore(self, request, *args, **kwargs):
try:
kwargs['partial'] = True
template_no = self.kwargs['template_no']
instance = models.ChangeRequestTemplateHeader.objects.filter(
template_no=template_no
)
instance.update(is_active=True)
message = status_message_response(
200, 'success',
'Archived Change Request Template restored',
''
)
return Response(message, status=status.HTTP_200_OK)
except Exception as e:
message = status_message_response(
500, 'failed',
'Request was not able to process' + str(e), []
)
return Response(message,
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
class ChangeRequestTemplatePost(APIView): class ChangeRequestTemplatePost(APIView):
......
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