Commit c5e0367c authored by Gladys Forte's avatar Gladys Forte

Merge pull request #645 in RMS/api-main-service from gladys-dev2 to product-dev

* commit '13fef4c1':
  on behalf list change request form
parents 12620a3f 13fef4c1
......@@ -1161,13 +1161,22 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
def list_by_onbehalf_view(self, request):
self.serializer_class = ChangeRequestFormHeaderSerializerList
id_number = self.request.user.code
behalf_user = self.request.user.code
self.queryset = change_request.list_by_user_without_dept(id_number)
user_active_included = []
active_users = models.ChangeRequestSettings.objects.filter(
behalf_user=behalf_user)
for active_user in active_users:
user_active_included.append(active_user.active_user.code)
# self.queryset = change_request.filter_onbehalf_crlist(
# self.queryset, id_number)
self.queryset = change_request.list_by_onbehalf_without_dept(
user_active_included)
self.queryset = change_request.filter_onbehalf_crlist(
self.queryset,
user_active_included)
self.queryset = change_request.filter_base(
self.queryset,
request.query_params.get('company_requested_to'),
......
......@@ -769,42 +769,58 @@ def cr_routing_actions(approver_instance, current_user, move_to_level):
return True
# def filter_onbehalf_crlist(base_queryset,
# user_id_number):
def filter_onbehalf_crlist(base_queryset,
user_id_number):
# return_queryset = base_queryset
return_queryset = base_queryset
# try:
# on_behalf_included = []
# for query in return_queryset:
# next_approvers = models.ChangeRequestFormApprovers.objects.filter(
# Q(form_code=query.form_code) &
# Q(is_action=True)
# ).order_by("level")
try:
on_behalf_included = []
for query in return_queryset:
next_approvers = models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=query.form_code) &
Q(is_action=True)
).order_by("level")
for next_approver in next_approvers:
if next_approver.user.code in user_id_number:
on_behalf_included.append(query.form_code)
# for next_approver in next_approvers:
# if next_approver.user.code == user_id_number:
# awaiting_included.append(query.form_code)
# return_queryset = return_queryset.filter(
# form_code__in=awaiting_included
# ).exclude(
# (Q(status__icontains='Rejected') |
# Q(status__icontains='Completed & Accepted') |
# Q(status__icontains='Cancelled') |
# Q(status__icontains='Draft'))
# )
# except Exception as e:
# pass
# return return_queryset
return_queryset = return_queryset.filter(
form_code__in=on_behalf_included
).exclude(
(Q(status__icontains='Rejected') |
Q(status__icontains='Completed & Accepted') |
Q(status__icontains='Cancelled') |
Q(status__icontains='Draft'))
)
except Exception as e:
pass
return return_queryset
def list_by_onbehalf_without_dept(user_id_number):
try:
return_queryset = models.ChangeRequestFormHeader.objects.filter(
(Q(frm_approvers__user__code__in=user_id_number) |
Q(frm_stakes__user__code__in=user_id_number) |
Q(requested_by_user__in=user_id_number)) &
Q(is_active=True)
).exclude(
Q(status__icontains='Draft') &
~Q(requested_by_user__in=user_id_number)
).distinct()
return return_queryset
except Exception as e:
return_queryset = None
return return_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