Commit b8d61244 authored by Gladys Forte's avatar Gladys Forte

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

* commit 'ff003f2e':
  archive
  added is active
parents cffd69d9 ff003f2e
...@@ -442,7 +442,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -442,7 +442,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
models.ChangeRequestFormHeader.objects.filter( models.ChangeRequestFormHeader.objects.filter(
form_code=form_code form_code=form_code
).update(status='Archived') ).update(is_active=False)
return Response( return Response(
{"message": "Change Request successfully archived!"}, {"message": "Change Request successfully archived!"},
...@@ -1058,6 +1058,49 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1058,6 +1058,49 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
@action(
methods=['GET'], detail=False,
url_path='archived', url_name='archived'
)
def archived(self, request, *args, **kwargs):
self.serializer_class = ChangeRequestFormHeaderSerializerList
id_number = self.request.user.code
self.queryset = change_request.list_by_user_archived(id_number)
self.queryset = change_request.filter_base(
self.queryset,
request.query_params.get('company_requested_to'),
request.query_params.get('department_requested_to'),
request.query_params.get('date_modified_from'),
request.query_params.get('date_modified_to'),
request.query_params.get('date_required_from'),
request.query_params.get('date_required_to'),
request.query_params.get('form_type'),
)
queryset = self.filter_queryset(self.queryset)
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 Change Request Form 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
)
class ChangeRequestFormPost(APIView): class ChangeRequestFormPost(APIView):
......
...@@ -41,10 +41,10 @@ class ChangeRequestTemplatesSerializer( ...@@ -41,10 +41,10 @@ class ChangeRequestTemplatesSerializer(
"contact_no": instance.requested_to_user.contact_no "contact_no": instance.requested_to_user.contact_no
} }
ret['requested_to_company_object'] = model_to_dict(instance.requested_to_company) ret['requested_to_company'] = model_to_dict(instance.requested_to_company)
ret['requested_to_department_object'] = model_to_dict(instance.requested_to_department) ret['requested_to_department'] = model_to_dict(instance.requested_to_department)
ret['requested_to_user_object'] = requested_to_user_object ret['requested_to_user'] = requested_to_user_object
ret['company'] = instance.requested_to_company.name ret['company'] = instance.requested_to_company.name
ret['department'] = instance.requested_to_department.name ret['department'] = instance.requested_to_department.name
ret['point_of_contact'] = instance.requested_to_user.name ret['point_of_contact'] = instance.requested_to_user.name
...@@ -53,9 +53,9 @@ class ChangeRequestTemplatesSerializer( ...@@ -53,9 +53,9 @@ class ChangeRequestTemplatesSerializer(
return ret return ret
except Exception as e: except Exception as e:
ret['requested_to_company_object'] = "none" ret['requested_to_company'] = "none"
ret['requested_to_department_object'] = "none" ret['requested_to_department'] = "none"
ret['requested_to_user_object'] = "none" ret['requested_to_user'] = "none"
ret['company'] = "none" ret['company'] = "none"
ret['department'] = "none" ret['department'] = "none"
......
...@@ -32,6 +32,7 @@ def list_by_user(user_id_number): ...@@ -32,6 +32,7 @@ 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(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) |
...@@ -49,16 +50,44 @@ def list_by_user(user_id_number): ...@@ -49,16 +50,44 @@ def list_by_user(user_id_number):
return return_queryset return return_queryset
def list_by_user_archived(user_id_number):
try:
priviledgeCrs = models.AllowedCompany.objects.filter(
Q(id_number=user_id_number) &
Q(view_all_change_request=True)
).values('group_pivots')
return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(is_active=False) |
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number) |
Q(requested_to_department__in=priviledgeCrs)
).exclude(
Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number)
).distinct()
return return_queryset
except Exception as e:
return_queryset = None
return return_queryset
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)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) ~Q(requested_by_user=user_id_number) |
Q(status__icontains='Archived')
).distinct() ).distinct()
return return_queryset return return_queryset
......
# Generated by Django 2.2 on 2019-10-02 21:08
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0012_auto_20191002_1023'),
]
operations = [
migrations.AddField(
model_name='changerequestformheader',
name='is_active',
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name='changerequesttemplateheader',
name='is_active',
field=models.BooleanField(default=True),
),
]
...@@ -396,6 +396,8 @@ class BaseHeader(models.Model): ...@@ -396,6 +396,8 @@ class BaseHeader(models.Model):
null=True) null=True)
created = models.DateTimeField(auto_now_add=True) created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
class Meta: class Meta:
abstract = True abstract = True
......
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