Commit 88da5c8e authored by John Red Medrano's avatar John Red Medrano

Merge pull request #225 in RMS/api-main-service from red-develop to RMSv2

* commit 'd01d4ced':
  fixed list of change reqeust form
parents d7a878e7 d01d4ced
...@@ -67,7 +67,7 @@ VENDOR_REJECT_MESSAGE = settings.VENDOR_REJECT_MESSAGE ...@@ -67,7 +67,7 @@ VENDOR_REJECT_MESSAGE = settings.VENDOR_REJECT_MESSAGE
class ChangeRequestFormsViewset(viewsets.ModelViewSet): class ChangeRequestFormsViewset(viewsets.ModelViewSet):
queryset = models.ChangeRequestFormHeader.objects.all() queryset = models.ChangeRequestFormHeader.objects.all().order_by('-created')
serializer_class = ChangeRequestFormHeaderSerializer serializer_class = ChangeRequestFormHeaderSerializer
pagination_class = CustomPagination pagination_class = CustomPagination
lookup_field = 'form_code' lookup_field = 'form_code'
...@@ -83,11 +83,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -83,11 +83,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
) )
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.serializer_class = ChangeRequestFormHeaderSerializerList
self.get_queryset = self.filter_queryset(self.get_queryset())
self.serializer_class = ChangeRequestFormHeaderSerializerList
id_number = self.request.user.code id_number = self.request.user.code
self.queryset = change_request.list_by_user(id_number) self.queryset = change_request.list_by_user(id_number)
self.queryset = change_request.filter_base( self.queryset = change_request.filter_base(
...@@ -101,18 +99,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -101,18 +99,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('form_type'), request.query_params.get('form_type'),
) )
# if self.request.query_params.get('search'): queryset = self.filter_queryset(self.queryset)
# search_key = self.request.query_params.get('search')
# self.queryset = self.queryset.filter(
# Q(requested_to_template_name__icontains=search_key.lower()) |
# Q(requested_to_template_id__icontains=search_key.lower())
# )
self.queryset = self.queryset.order_by('-created') page = self.paginate_queryset(queryset)
page = self.paginate_queryset(self.queryset)
if page is not None: if page is not None:
serializer = self.get_serializer(page, many=True) serializer = self.get_serializer(page, many=True)
......
...@@ -25,67 +25,33 @@ from django.db.models import Min ...@@ -25,67 +25,33 @@ from django.db.models import Min
def list_by_user(user_id_number): def list_by_user(user_id_number):
return_queryset = None
try: try:
approver = models.ChangeRequestFormApprovers.objects.filter( priviledgeCrs = models.AllowedCompany.objects.filter(
Q(user=user_id_number) Q(id_number=user_id_number) &
) Q(view_all_change_request=True)
).values('group_pivots')
approver = [data.form_code for data in approver]
stake = models.ChangeRequestFormStakeHolders.objects.filter(
Q(user=user_id_number)
)
stake = [data.form_code for data in stake]
headers = models.ChangeRequestFormHeader.objects.filter(
requested_by_user=user_id_number
)
headers = [data.form_code for data in headers]
# # TODO: Include priviledges here
# req = get_allowed_company(user_id_number)
# results = req.json()['results']
# # Get the list of distincted group_no
# crViews = list(set(
# map(lambda x: x['group_pivots'],
# list(filter(lambda x: x['view_all_change_request'], results))
# )
# ))
# priviledgedList = models.ChangeRequestFormHeader.objects.filter(
# requested_to_department__in=crViews,
# archived_at=None,
# )
# priviledgedCrs = [data['form_code'] for data in priviledgedList]
# form_code = list(set(stake + approver + headers + priviledgedCrs))
form_code = list(set(stake + approver + headers))
return_queryset = models.ChangeRequestFormHeader.objects.filter( return_queryset = models.ChangeRequestFormHeader.objects.filter(
form_code__in=form_code Q(frm_approvers__user__code=user_id_number) |
) Q(frm_stakes__user__code=user_id_number) |
exclude = return_queryset.filter( Q(requested_to_department__in=priviledgeCrs) |
Q(requested_by_user=user_id_number)
).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
Q(requested_by_user__ne=user_id_number) ~Q(requested_by_user=user_id_number)
) ).distinct()
exclude = [data.form_code for data in exclude]
return_queryset = return_queryset.filter( return return_queryset
form_code__nin=exclude
)
except Exception as e: except Exception as e:
pass
return_queryset = None
return return_queryset return return_queryset
def filter_base(base_queryset, def filter_base(base_queryset,
company_requested_to, company_requested_to,
department_requested_to, department_requested_to,
......
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