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'
...@@ -81,15 +81,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -81,15 +81,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
"requested_to_user__name", "requested_to_template_name", "requested_to_user__name", "requested_to_template_name",
"requested_to_objective", "requested_to_priority", "description" "requested_to_objective", "requested_to_priority", "description"
) )
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(
self.queryset, self.queryset,
request.query_params.get('company_requested_to'), request.query_params.get('company_requested_to'),
...@@ -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(self.queryset) page = self.paginate_queryset(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,65 +25,31 @@ from django.db.models import Min ...@@ -25,65 +25,31 @@ 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(
Q(user=user_id_number)
)
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( priviledgeCrs = models.AllowedCompany.objects.filter(
requested_by_user=user_id_number Q(id_number=user_id_number) &
) Q(view_all_change_request=True)
headers = [data.form_code for data in headers] ).values('group_pivots')
# # 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(status__icontains='Draft') & Q(requested_by_user=user_id_number)
Q(requested_by_user__ne=user_id_number) ).exclude(
) Q(status__icontains='Draft') &
exclude = [data.form_code for data in exclude] ~Q(requested_by_user=user_id_number)
).distinct()
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,
......
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