Commit 14d546d7 authored by John Red Medrano's avatar John Red Medrano

fixing list of templates

parents bfd2bf80 0866ff33
...@@ -1139,6 +1139,31 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1139,6 +1139,31 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
status=status.HTTP_200_OK status=status.HTTP_200_OK
) )
#restore archived CR # comment
def partial_update(self, request, *args, **kwargs):
try:
kwargs['partial'] = True
form_code = self.kwargs['form_code']
instance = models.ChangeRequestFormHeader.objects.filter(
form_code=form_code
)
instance.update(is_active=True)
message = status_message_response(
200, 'success',
'Archived Change Request 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 ChangeRequestFormPost(APIView): class ChangeRequestFormPost(APIView):
@transaction.atomic() @transaction.atomic()
......
...@@ -74,7 +74,7 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -74,7 +74,7 @@ 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)
...@@ -109,63 +109,73 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -109,63 +109,73 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
template_no = self.kwargs['template_no'] template_no = self.kwargs['template_no']
enum_approver = enums.LogEntitiesEnum.ChangeRequestTemplateApprovers.value existing_transaction = models.ChangeRequestFormHeader.objects.filter(
enum_stake = enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value
enum_attach = enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value
enum_detail = enums.LogEntitiesEnum.ChangeRequestTemplateDetails.value
enum_header = enums.LogEntitiesEnum.ChangeRequestTemplateHeader.value
approver = models.ChangeRequestTemplateApprovers.objects.filter(
template_no=template_no template_no=template_no
) )
if approver.count() > 0:
entity_log_bulk(
approver, enum_approver,
models.ChangeRequestTemplateApprovers
)
stake = models.ChangeRequestTemplateStakeHolders.objects.filter( if existing_transaction.count() > 0:
template_no=template_no models.ChangeRequestTemplateHeader.objects.filter(
) template_no=template_no
).update(is_active=False)
else:
enum_approver = enums.LogEntitiesEnum.ChangeRequestTemplateApprovers.value
enum_stake = enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value
enum_attach = enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value
enum_detail = enums.LogEntitiesEnum.ChangeRequestTemplateDetails.value
enum_header = enums.LogEntitiesEnum.ChangeRequestTemplateHeader.value
approver = models.ChangeRequestTemplateApprovers.objects.filter(
template_no=template_no
)
if stake.count() > 0: if approver.count() > 0:
entity_log_bulk( entity_log_bulk(
stake, enum_stake, approver, enum_approver,
models.ChangeRequestTemplateStakeHolders models.ChangeRequestTemplateApprovers
)
stake = models.ChangeRequestTemplateStakeHolders.objects.filter(
template_no=template_no
) )
attachment = models.ChangeRequestTemplateAttachments.objects.filter( if stake.count() > 0:
template_no=template_no entity_log_bulk(
) stake, enum_stake,
models.ChangeRequestTemplateStakeHolders
)
if attachment.count() > 0: attachment = models.ChangeRequestTemplateAttachments.objects.filter(
entity_log_bulk( template_no=template_no
attachment, enum_attach,
models.ChangeRequestTemplateAttachments
) )
details = models.ChangeRequestTemplateDetails.objects.filter( if attachment.count() > 0:
template_no=template_no entity_log_bulk(
) attachment, enum_attach,
models.ChangeRequestTemplateAttachments
)
if details.count() > 0: details = models.ChangeRequestTemplateDetails.objects.filter(
entity_log_bulk( template_no=template_no
details, enum_detail,
models.ChangeRequestTemplateDetails
) )
header = models.ChangeRequestTemplateHeader.objects.filter( if details.count() > 0:
template_no=template_no entity_log_bulk(
) details, enum_detail,
models.ChangeRequestTemplateDetails
)
if header.count() > 0: header = models.ChangeRequestTemplateHeader.objects.filter(
entity_log_bulk( template_no=template_no
header, enum_header,
models.ChangeRequestTemplateHeader
) )
return Response({"message": "Deleted"}, status=status.HTTP_200_OK) if header.count() > 0:
entity_log_bulk(
header, enum_header,
models.ChangeRequestTemplateHeader
)
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)
...@@ -259,6 +269,69 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -259,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):
......
...@@ -32,10 +32,10 @@ def list_by_user(user_id_number): ...@@ -32,10 +32,10 @@ def list_by_user(user_id_number):
).values('group_pivots') ).values('group_pivots')
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(frm_approvers__user__code=user_id_number) | (Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) | Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) | Q(requested_by_user=user_id_number) |
Q(requested_to_department__in=priviledgeCrs) | Q(requested_to_department__in=priviledgeCrs)) &
Q(is_active=True) Q(is_active=True)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
...@@ -59,11 +59,11 @@ def list_by_user_archived(user_id_number): ...@@ -59,11 +59,11 @@ def list_by_user_archived(user_id_number):
).values('group_pivots') ).values('group_pivots')
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(is_active=False) | (Q(frm_approvers__user__code=user_id_number) |
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) | Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) | Q(requested_by_user=user_id_number) |
Q(requested_to_department__in=priviledgeCrs) Q(requested_to_department__in=priviledgeCrs)) &
Q(is_active=False)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) ~Q(requested_by_user=user_id_number)
...@@ -80,10 +80,10 @@ def list_by_user_archived(user_id_number): ...@@ -80,10 +80,10 @@ def list_by_user_archived(user_id_number):
def list_by_user_without_dept(user_id_number): def list_by_user_without_dept(user_id_number):
try: try:
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(is_active=True) | (Q(frm_approvers__user__code=user_id_number) |
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) | Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) Q(requested_by_user=user_id_number)) &
Q(is_active=True)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) ~Q(requested_by_user=user_id_number)
......
...@@ -1800,7 +1800,16 @@ ...@@ -1800,7 +1800,16 @@
"method": "PATCH", "method": "PATCH",
"header": [], "header": [],
"url": { "url": {
"raw": "" "raw": "{{baseurl}}/change-request/form/FRM-20190930-0000034/",
"host": [
"{{baseurl}}"
],
"path": [
"change-request",
"form",
"FRM-20190930-0000034",
""
]
} }
}, },
"response": [] "response": []
...@@ -2698,7 +2707,7 @@ ...@@ -2698,7 +2707,7 @@
"bearer": [ "bearer": [
{ {
"key": "token", "key": "token",
"value": "d157c0d54e592d1ff0c746e0e58a8406d952353c", "value": "d9213531dc2fb82756a1af00a007e63032a1beb5",
"type": "string" "type": "string"
} }
] ]
......
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