Commit af2e1c27 authored by Gladys Forte's avatar Gladys Forte

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

* commit '84c80fc9':
  sort
parents 9be4e112 84c80fc9
...@@ -99,6 +99,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -99,6 +99,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('form_type'), request.query_params.get('form_type'),
) )
if len(request.query_params) == 0:
queryset = self.queryset.order_by('-created')
else:
queryset = self.filter_queryset(self.queryset) queryset = self.filter_queryset(self.queryset)
page = self.paginate_queryset(queryset) page = self.paginate_queryset(queryset)
...@@ -1023,6 +1026,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -1023,6 +1026,13 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
next_approver_email(form_code, min_level) next_approver_email(form_code, min_level)
# update next approver details
models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=form_code) & Q(level=int(min_level))
).update(
date_sent=datetime.now()
)
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
message = status_message_response( message = status_message_response(
......
from django.shortcuts import render from django.shortcuts import render
from app.entities import models from app.entities import models
from app.applicationlayer import paginators from app.applicationlayer import paginators
...@@ -51,7 +50,6 @@ def list_by_user(user_id_number): ...@@ -51,7 +50,6 @@ def list_by_user(user_id_number):
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,
...@@ -66,14 +64,15 @@ def filter_base(base_queryset, ...@@ -66,14 +64,15 @@ def filter_base(base_queryset,
try: try:
if company_requested_to: if company_requested_to:
return_queryset = return_queryset.filter(requested_to_company__exact=company_requested_to) return_queryset = return_queryset.filter(
requested_to_company__exact=company_requested_to)
if department_requested_to: if department_requested_to:
return_queryset = return_queryset.filter(requested_to_department__exact=department_requested_to) return_queryset = return_queryset.filter(
requested_to_department__exact=department_requested_to)
if form_type == 'open': if form_type == 'open':
return_queryset = return_queryset.filter(status__ne='Closed') return_queryset = return_queryset.filter(~Q(status='Closed'))
elif form_type == 'closed': elif form_type == 'closed':
return_queryset = return_queryset.filter(status='Closed') return_queryset = return_queryset.filter(status='Closed')
...@@ -98,29 +97,10 @@ def filter_base(base_queryset, ...@@ -98,29 +97,10 @@ def filter_base(base_queryset,
if date_required_from and date_required_to: if date_required_from and date_required_to:
for query in return_queryset: for query in return_queryset:
try:
if query.requested_to_target_date: if query.requested_to_target_date:
requested_to_target_date = datetime.strftime(
requested_to_target_date = datetime.strptime(query.requested_to_target_date[:-1], "%Y-%m-%dT%H:%M:%S.%f") query.requested_to_target_date,
requested_to_target_date = datetime.strftime(requested_to_target_date, "%Y-%m-%d") "%Y-%m-%d")
if requested_to_target_date >= date_required_from and requested_to_target_date <= date_required_to:
date_required.append(query.id)
return_queryset = return_queryset.filter(id__in=date_required)
else:
date_required_not.append(query.id)
return_queryset = return_queryset.filter(id__nin=date_required_not)
else:
date_required_not.append(query.id)
return_queryset = return_queryset.filter(id__nin=date_required_not)
except ValueError:
if query.requested_to_target_date:
requested_to_target_date = datetime.strptime(query.requested_to_target_date[:-1], "%Y-%m-%d %H:%M:%S")
requested_to_target_date = datetime.strftime(requested_to_target_date, "%Y-%m-%d")
if requested_to_target_date >= date_required_from and requested_to_target_date <= date_required_to: if requested_to_target_date >= date_required_from and requested_to_target_date <= date_required_to:
...@@ -195,36 +175,28 @@ def filter_awaiting(base_queryset, ...@@ -195,36 +175,28 @@ def filter_awaiting(base_queryset,
for query in return_queryset: for query in return_queryset:
current_level = 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')) ) # .aggregate(Min('level'))
print("hello")
# for current in current_level: for no_action in no_actions:
print(no_action.level)
if current_level: check_with_same_level = models.ChangeRequestFormApprovers.objects.filter(
current_level = current_level.get('level__min')
query = models.ChangeRequestFormApprovers.objects.filter(
Q(form_code=query.form_code) & Q(form_code=query.form_code) &
(Q(action='') | Q(action=None)) & Q(level=int(no_action.level))
Q(level=current_level) ).exclude(Q(action='') | Q(action=None))
)
print(query)
# first_level = current_level.first()
# first_user = models.ChangeRequestFormApprovers.objects.filter( print(check_with_same_level)
# code=first_level).values('user')
# print(first_user.user) if not check_with_same_level:
print("pumasok")
if no_action.user.code == user_id_number:
awaiting_included.append(query.form_code)
break
# if x == user_id_number: return_queryset = return_queryset.filter(
form_code__in=awaiting_included)
# awaiting_included.append(query.form_code)
return_queryset = return_queryset.filter(form_code__in=awaiting_included)
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