Commit 69422518 authored by Gladys Forte's avatar Gladys Forte

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

* commit '53e09ba4':
  awaiting fix
parents af2e1c27 53e09ba4
...@@ -83,7 +83,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -83,7 +83,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
) )
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
self.serializer_class = ChangeRequestFormHeaderSerializerList 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)
...@@ -160,7 +160,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -160,7 +160,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
cancelled = self.queryset.filter( cancelled = self.queryset.filter(
status__iexact='Cancelled' status__iexact='Cancelled'
).count() ).count()
completed = self.queryset.filter( completed = self.queryset.filter(
status__iexact='Closed' #Completed status__iexact='Closed' #Completed
).count() ).count()
...@@ -175,20 +175,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -175,20 +175,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
awaiting_filtered = change_request.filter_awaiting(self.queryset, id_number) awaiting_filtered = change_request.filter_awaiting(self.queryset, id_number)
# awaiting = awaiting_filtered.count() awaiting = awaiting_filtered.count()
awaiting = 0
for awaits in awaiting_filtered:
if awaits.status.lower() == 'rejected':
print("rejected")
elif awaits.status.lower() == 'closed':
print("closed")
elif awaits.status.lower() == 'cancelled':
print("cancelled")
else:
awaiting = awaiting + 1
overdue_filtered = change_request.filter_overdue(self.queryset) overdue_filtered = change_request.filter_overdue(self.queryset)
overdue = overdue_filtered.count() overdue = overdue_filtered.count()
...@@ -236,10 +224,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -236,10 +224,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('date_required_to'), request.query_params.get('date_required_to'),
request.query_params.get('form_type'), request.query_params.get('form_type'),
) )
self.queryset = self.queryset.order_by('-created')
page = self.paginate_queryset(self.queryset) if len(request.query_params) == 0:
queryset = self.queryset.order_by('-created')
else:
queryset = self.filter_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)
...@@ -269,7 +260,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -269,7 +260,8 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
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_without_dept(
id_number)
self.queryset = change_request.filter_overdue(self.queryset) self.queryset = change_request.filter_overdue(self.queryset)
...@@ -284,8 +276,12 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -284,8 +276,12 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('form_type'), request.query_params.get('form_type'),
) )
self.queryset = self.queryset.order_by('-created') if len(request.query_params) == 0:
page = self.paginate_queryset(self.queryset) queryset = self.queryset.order_by('-created')
else:
queryset = self.filter_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)
...@@ -315,7 +311,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -315,7 +311,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
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_without_dept(id_number)
self.queryset = change_request.filter_awaiting( self.queryset = change_request.filter_awaiting(
self.queryset, id_number) self.queryset, id_number)
...@@ -330,15 +326,14 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -330,15 +326,14 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('date_required_to'), request.query_params.get('date_required_to'),
request.query_params.get('form_type'), request.query_params.get('form_type'),
) )
self.queryset = self.queryset.filter(
~Q(status='Rejected') |
~Q(status='Closed') |
~Q(status='Cancelled'))
self.queryset = self.queryset.order_by('-created') if len(request.query_params) == 0:
page = self.paginate_queryset(self.queryset) queryset = self.queryset.order_by('-created')
else:
queryset = self.filter_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)
......
...@@ -30,12 +30,12 @@ def list_by_user(user_id_number): ...@@ -30,12 +30,12 @@ def list_by_user(user_id_number):
Q(id_number=user_id_number) & Q(id_number=user_id_number) &
Q(view_all_change_request=True) Q(view_all_change_request=True)
).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_to_department__in=priviledgeCrs) | Q(requested_by_user=user_id_number) |
Q(requested_by_user=user_id_number) Q(requested_to_department__in=priviledgeCrs)
).exclude( ).exclude(
Q(status__icontains='Draft') & Q(status__icontains='Draft') &
~Q(requested_by_user=user_id_number) ~Q(requested_by_user=user_id_number)
...@@ -44,12 +44,32 @@ def list_by_user(user_id_number): ...@@ -44,12 +44,32 @@ def list_by_user(user_id_number):
return return_queryset return return_queryset
except Exception as e: except Exception as e:
return_queryset = None return_queryset = None
return return_queryset return return_queryset
def list_by_user_without_dept(user_id_number):
try:
return_queryset = models.ChangeRequestFormHeader.objects.filter(
Q(frm_approvers__user__code=user_id_number) |
Q(frm_stakes__user__code=user_id_number) |
Q(requested_by_user=user_id_number)
).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 filter_base(base_queryset, def filter_base(base_queryset,
company_requested_to, company_requested_to,
department_requested_to, department_requested_to,
...@@ -178,25 +198,29 @@ def filter_awaiting(base_queryset, ...@@ -178,25 +198,29 @@ def filter_awaiting(base_queryset,
no_actions = models.ChangeRequestFormApprovers.objects.filter( no_actions = models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=query.form_code) & Q(form_code=query.form_code) &
(Q(action='') | Q(action=None)) (Q(action='') | Q(action=None))
) # .aggregate(Min('level')) ).order_by("level")
print("hello")
for no_action in no_actions: for no_action in no_actions:
print(no_action.level)
check_with_same_level = models.ChangeRequestFormApprovers.objects.filter( check_with_same_level = models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=query.form_code) & Q(form_code=query.form_code) &
Q(level=int(no_action.level)) Q(level=int(no_action.level))
).exclude(Q(action='') | Q(action=None)) ).exclude(Q(action='') | Q(action=None))
print(check_with_same_level)
if not check_with_same_level: if not check_with_same_level:
print("pumasok")
if no_action.user.code == user_id_number: if no_action.user.code == user_id_number:
awaiting_included.append(query.form_code) awaiting_included.append(query.form_code)
break break
else:
break
return_queryset = return_queryset.filter( return_queryset = return_queryset.filter(
form_code__in=awaiting_included) form_code__in=awaiting_included
).exclude(
(Q(status__icontains='Rejected') |
Q(status__icontains='Closed') |
Q(status__icontains='Cancelled') |
Q(status__icontains='Draft'))
)
except Exception as e: except Exception as e:
pass pass
......
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