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
...@@ -44,7 +44,7 @@ class ChangeRequestFormHeaderSerializer( ...@@ -44,7 +44,7 @@ class ChangeRequestFormHeaderSerializer(
approver = 'Yes' approver = 'Yes'
else: else:
approver = 'No' approver = 'No'
ret['action_required'] = approver ret['action_required'] = approver
requested_to_user = { requested_to_user = {
......
...@@ -99,8 +99,11 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -99,8 +99,11 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
request.query_params.get('form_type'), request.query_params.get('form_type'),
) )
queryset = self.filter_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) page = self.paginate_queryset(queryset)
if page is not None: if page is not None:
...@@ -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
...@@ -49,7 +48,6 @@ def list_by_user(user_id_number): ...@@ -49,7 +48,6 @@ def list_by_user(user_id_number):
return_queryset = None return_queryset = None
return return_queryset return return_queryset
def filter_base(base_queryset, def filter_base(base_queryset,
...@@ -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')
...@@ -88,50 +87,31 @@ def filter_base(base_queryset, ...@@ -88,50 +87,31 @@ def filter_base(base_queryset,
if created >= date_modified_from and created <= date_modified_to: if created >= date_modified_from and created <= date_modified_to:
date_modified.append(query.id) date_modified.append(query.id)
return_queryset = return_queryset.filter(id__in=date_modified) return_queryset = return_queryset.filter(id__in=date_modified)
else: else:
date_modified_not.append(query.id) date_modified_not.append(query.id)
return_queryset = return_queryset.filter(id__nin=date_modified_not) return_queryset = return_queryset.filter(id__nin=date_modified_not)
date_required = [] date_required = []
date_required_not = [] date_required_not = []
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(
query.requested_to_target_date,
requested_to_target_date = datetime.strptime(query.requested_to_target_date[:-1], "%Y-%m-%dT%H:%M:%S.%f") "%Y-%m-%d")
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:
date_required.append(query.id)
date_required.append(query.id) return_queryset = return_queryset.filter(id__in=date_required)
return_queryset = return_queryset.filter(id__in=date_required) else:
else: date_required_not.append(query.id)
date_required_not.append(query.id) return_queryset = return_queryset.filter(id__nin=date_required_not)
return_queryset = return_queryset.filter(id__nin=date_required_not) else:
else: date_required_not.append(query.id)
date_required_not.append(query.id) return_queryset = return_queryset.filter(id__nin=date_required_not)
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:
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)
return_queryset return_queryset
...@@ -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) print(check_with_same_level)
# first_level = current_level.first()
# first_user = models.ChangeRequestFormApprovers.objects.filter( if not check_with_same_level:
# code=first_level).values('user') print("pumasok")
if no_action.user.code == user_id_number:
awaiting_included.append(query.form_code)
break
# print(first_user.user) return_queryset = return_queryset.filter(
form_code__in=awaiting_included)
# if x == user_id_number:
# 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