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
class ChangeRequestFormsViewset(viewsets.ModelViewSet):
queryset = models.ChangeRequestFormHeader.objects.all()
queryset = models.ChangeRequestFormHeader.objects.all().order_by('-created')
serializer_class = ChangeRequestFormHeaderSerializer
pagination_class = CustomPagination
lookup_field = 'form_code'
......@@ -81,15 +81,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
"requested_to_user__name", "requested_to_template_name",
"requested_to_objective", "requested_to_priority", "description"
)
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
self.queryset = change_request.list_by_user(id_number)
self.queryset = change_request.filter_base(
self.queryset,
request.query_params.get('company_requested_to'),
......@@ -101,18 +99,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('form_type'),
)
# if self.request.query_params.get('search'):
# 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')
queryset = self.filter_queryset(self.queryset)
page = self.paginate_queryset(self.queryset)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
......
......@@ -25,65 +25,31 @@ from django.db.models import Min
def list_by_user(user_id_number):
return_queryset = None
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(
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))
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(
form_code__in=form_code
)
exclude = return_queryset.filter(
Q(status__icontains='Draft') &
Q(requested_by_user__ne=user_id_number)
)
exclude = [data.form_code for data in exclude]
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) |
Q(requested_to_department__in=priviledgeCrs) |
Q(requested_by_user=user_id_number)
).exclude(
Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number)
).distinct()
return_queryset = return_queryset.filter(
form_code__nin=exclude
)
return return_queryset
except Exception as e:
pass
return_queryset = None
return return_queryset
return return_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