Commit f311ca78 authored by Gladys Forte's avatar Gladys Forte

default approver api

parent 3d56bd1d
......@@ -14,7 +14,8 @@ class DefaultApproverSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
fields = ('id', 'code', 'name', 'contact_no', 'email', 'department')
# fields = '__all__'
read_only_fields = (
'created', 'createdby', 'modified', 'modifiedby', 'code',
)
\ No newline at end of file
# from rest_framework import viewsets, status
# from rest_framework.response import Response
# from app.applicationlayer.utils import model_to_dict
# from rest_framework.filters import SearchFilter, OrderingFilter
# from django_filters import rest_framework as filters
# from app.entities.models import Department, AllowedCompany
# from app.applicationlayer.utils import (
# CustomPagination, status_message_response
# )
from rest_framework import viewsets, status
from rest_framework.response import Response
from app.applicationlayer.utils import model_to_dict
from rest_framework.filters import SearchFilter, OrderingFilter
from django_filters import rest_framework as filters
from app.entities.models import User, AllowedCompany
from app.applicationlayer.utils import (
CustomPagination, status_message_response
)
# from django_filters.rest_framework import DjangoFilterBackend
# from app.applicationlayer.master.department import serializer
# from app.applicationlayer.cms.master.template.department.table_filters import (
# ChangeRequestDepartmentFilterSet
# )
# from app.helper.decorators import rms
# from django.db.models import Q
# from rest_framework.exceptions import ParseError
from django_filters.rest_framework import DjangoFilterBackend
from app.applicationlayer.cms.master.template.default_approver import serializer
from app.applicationlayer.cms.master.template.default_approver.table_filter import (
DefaultApproverFilterSet
)
from app.helper.decorators import rms
from django.db.models import Q
from rest_framework.exceptions import ParseError
# class DefaultApproverViewSet(viewsets.ModelViewSet):
# queryset = Department.objects.all()
# serializer_class = serializer.AdminDepartmentSerializer
# pagination_class = CustomPagination
# lookup_field = 'code'
# filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
# filterset_class = ChangeRequestDepartmentFilterSet
# ordering_fields = '__all__'
# search_fields = ('name', 'company__name', 'code')
class DefaultApproverViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = serializer.DefaultApproverSerializer
pagination_class = CustomPagination
lookup_field = 'code'
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
filterset_class = DefaultApproverFilterSet
ordering_fields = '__all__'
search_fields = ('name', 'department__name', 'code')
# # @rms.department_list
# def list(self, request, *args, **kwargs):
# company = self.request.query_params['company_code']
# queryset = self.filter_queryset(self.get_queryset())
# allowed = AllowedCompany.objects.filter(
# Q(id_number=self.request.user.code) &
# Q(company_pivot=company) &
# Q(create_change_request_template=True)
# ).values('group_pivots')
# queryset = queryset.filter(code__in=allowed)
# page = self.paginate_queryset(queryset)
def list(self, request, *args, **kwargs):
department = self.request.query_params['department_code']
queryset = self.filter_queryset(self.get_queryset())
default_user = AllowedCompany.objects.filter(
Q(group_pivots=department) &
Q(approve_cr=True)
).values('id_number')
queryset = queryset.filter(code__in=default_user)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
# if page is not None:
# serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'list of Default Approvers found',
serializer.data
)
return self.get_paginated_response(message)
# message = status_message_response(
# 200,
# 'success',
# 'list of Department found',
# serializer.data
# )
# return self.get_paginated_response(message)
# serializer = self.get_serializer(queryset, many=True)
# return Response(serializer.data)
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
......@@ -12,6 +12,7 @@ from app.applicationlayer.cms.master.template.company.views import ChangeRequest
from app.applicationlayer.cms.master.template.department.views import ChangeRequestDepartmentTemplateViewSet
from app.applicationlayer.cms.master.template.account.views import UserListTemplate
from app.applicationlayer.cms.master.template_list.views import ChangeRequestTemplateHeaderMaster
from app.applicationlayer.cms.master.template.default_approver.views import DefaultApproverViewSet
# MASTERS Form
......@@ -69,6 +70,7 @@ router.register(r'allowed-companies', allowed.AllowedCompanyViewSet)
router.register(r'template-companies', ChangeRequestCompanyTemplateViewSet)
router.register(r'template-departments', ChangeRequestDepartmentTemplateViewSet)
router.register(r'allowed-templates', ChangeRequestTemplateHeaderMaster)
router.register(r'default-approvers', DefaultApproverViewSet)
# filter endpoints under Allowed Companies table
# filter endpoints under Allowed Companies table
......
# Generated by Django 2.2 on 2019-11-11 10:42
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0034_auto_20191108_1924'),
]
operations = [
migrations.AddField(
model_name='changerequesttemplateapprovers',
name='is_default',
field=models.BooleanField(default=False),
),
]
......@@ -609,6 +609,9 @@ class ChangeRequestTemplateApprovers(BaseApprover):
null=True,
on_delete=models.PROTECT,
to_field='code')
is_default = models.BooleanField(
default=False
)
class Meta:
db_table = 'change_request_template_approvers'
......
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