Commit c0c770c7 authored by Gladys Forte's avatar Gladys Forte

list serializer

parent 30c5e813
...@@ -113,7 +113,7 @@ class ChangeRequestFormHeaderSerializerList( ...@@ -113,7 +113,7 @@ class ChangeRequestFormHeaderSerializerList(
(Q(action='') | Q(action=None)) (Q(action='') | Q(action=None))
).order_by('level') ).order_by('level')
if current_level[0].user.code == id_number: if current_level.count() > 0 and current_level[0].user.code == id_number:
if instance.status.lower() == 'rejected': if instance.status.lower() == 'rejected':
approver = 'No' approver = 'No'
elif instance.status.lower() == 'cancelled': elif instance.status.lower() == 'cancelled':
...@@ -124,6 +124,7 @@ class ChangeRequestFormHeaderSerializerList( ...@@ -124,6 +124,7 @@ class ChangeRequestFormHeaderSerializerList(
approver = 'Yes' approver = 'Yes'
else: else:
approver = 'No' approver = 'No'
ret['action'] = approver ret['action'] = approver
ret['company'] = instance.requested_to_company.name ret['company'] = instance.requested_to_company.name
ret['department'] = instance.requested_to_department.name ret['department'] = instance.requested_to_department.name
......
...@@ -323,8 +323,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -323,8 +323,9 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
self.queryset = change_request.list_by_user(id_number) self.queryset = change_request.list_by_user(id_number)
self.queryset = change_request.filter_awaiting(self.queryset, id_number.code) self.queryset = change_request.filter_awaiting(
self.queryset, id_number)
self.queryset = change_request.filter_base( self.queryset = change_request.filter_base(
self.queryset, self.queryset,
request.query_params.get('company_requested_to'), request.query_params.get('company_requested_to'),
...@@ -445,6 +446,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -445,6 +446,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
return Response(e, return Response(e,
status=status.HTTP_500_INTERNAL_SERVER_ERROR) status=status.HTTP_500_INTERNAL_SERVER_ERROR)
@transaction.atomic()
@action( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
url_path='re_route', url_name='re_route' url_path='re_route', url_name='re_route'
...@@ -537,6 +539,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -537,6 +539,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
) )
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
@transaction.atomic()
@action( @action(
methods=['PATCH'], detail=True, methods=['PATCH'], detail=True,
url_path='re_submit', url_name='re_submit' url_path='re_submit', url_name='re_submit'
...@@ -627,7 +630,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -627,7 +630,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
return Response(message, status=status.HTTP_200_OK) return Response(message, status=status.HTTP_200_OK)
# actions @transaction.atomic()
@action( @action(
methods=['PATCH'], detail=False, methods=['PATCH'], detail=False,
url_path='actions', url_name='actions' url_path='actions', url_name='actions'
...@@ -658,7 +661,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -658,7 +661,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
approver_instance = models.ChangeRequestFormApprovers.objects.get( approver_instance = models.ChangeRequestFormApprovers.objects.get(
pk=id pk=id
) )
serializer = ChangeRequestFormApproversSerializer( serializer = ChangeRequestFormApproversSerializer(
approver_instance, approver_instance,
data=action_data, data=action_data,
......
...@@ -21,6 +21,7 @@ from django.forms.models import model_to_dict ...@@ -21,6 +21,7 @@ from django.forms.models import model_to_dict
from app.entities import enums, models from app.entities import enums, models
from app.applicationlayer.utils import log_save, CustomPagination from app.applicationlayer.utils import log_save, CustomPagination
from app.applicationlayer.cms.template import serializers from app.applicationlayer.cms.template import serializers
from django.db.models import Min
def list_by_user(user_id_number): def list_by_user(user_id_number):
...@@ -231,15 +232,27 @@ def filter_awaiting(base_queryset, ...@@ -231,15 +232,27 @@ def filter_awaiting(base_queryset,
current_level = models.ChangeRequestFormApprovers.objects.filter( current_level = 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))
).order_by('level') ).aggregate(Min('level'))
# for current in current_level:
if current_level: if current_level:
first_level = current_level.first() current_level = current_level.get('level__min')
first_user = models.ChangeRequestFormApprovers.objects.filter( query = models.ChangeRequestFormApprovers.objects.filter(
code=first_level).values('user') Q(form_code=query.form_code) &
(Q(action='') | Q(action=None)) &
Q(level=current_level)
)
print(query)
# first_level = current_level.first()
# first_user = models.ChangeRequestFormApprovers.objects.filter(
# code=first_level).values('user')
print(first_user.user) # print(first_user.user)
# if x == user_id_number: # if x == user_id_number:
......
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