Commit be1b5145 authored by John Red Medrano's avatar John Red Medrano

Merge pull request #134 in RMS/api-main-service from red-develop to RMSv2

* commit '50408832':
  reverse logic on master and manage
parents afcabee6 50408832
......@@ -4,7 +4,7 @@ from app.entities.models import User
from django.db.models import Q
class UserFilterSet(filters.FilterSet):
class AccountFilterset(filters.FilterSet):
# search = filters.CharFilter(method='search_bar', label='search')
# def search_bar(self, queryset, name, value):
# return queryset.filter(
......
......@@ -18,7 +18,7 @@ from django.contrib.auth.hashers import make_password
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import SearchFilter, OrderingFilter
from app.applicationlayer.management.account import serializer
from app.applicationlayer.management.account.table_filters import UserFilterSet
from app.applicationlayer.management.account.table_filters import AccountFilterset
from app.applicationlayer.utils import (
CustomPagination, status_message_response, log_save,
main_threading
......@@ -32,7 +32,7 @@ class UserViewSet(viewsets.ModelViewSet):
pagination_class = CustomPagination
lookup_field = 'code'
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
filterset_class = UserFilterSet
filterset_class = AccountFilterset
ordering_fields = '__all__'
search_fields = (
'name', 'code',
......
......@@ -42,7 +42,7 @@ class CompanyViewSet(viewsets.ModelViewSet):
message
)
# @decorators.rms.company_list
@decorators.rms.company_list
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
......
......@@ -42,7 +42,7 @@ class DepartmentViewSet(viewsets.ModelViewSet):
message
)
# @decorators.rms.department_list
@decorators.rms.department_list
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
......
from rest_framework import serializers
from app.entities.models import User
from django.forms.models import model_to_dict
class AdminAccountSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
ret = super().to_representation(instance)
ret['department'] = model_to_dict(instance.department)
ret['company'] = model_to_dict(instance.department.company)
application = instance.application.values()
ret['application'] = application
return ret
class Meta:
model = User
fields = '__all__'
read_only_fields = (
'created', 'createdby', 'modified', 'modifiedby', 'code',
)
from rest_framework import viewsets, status
from rest_framework.response import Response
from django.forms.models 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
from app.applicationlayer.utils import (
CustomPagination, status_message_response
)
from django_filters.rest_framework import DjangoFilterBackend
from app.applicationlayer.master.Account import serializer
from app.applicationlayer.management.account.table_filters import AccountFilterset
from app.helper.decorators import rms
class AdminAccountViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = serializer.AdminAccountSerializer
pagination_class = CustomPagination
lookup_field = 'code'
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
filterset_class = AccountFilterset
ordering_fields = '__all__'
search_fields = (
'name', 'company__name', 'code', 'department__name',
'email', 'contact_no',
)
# @rms.department_list
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
message = status_message_response(
200,
'success',
'list of User found',
serializer.data
)
return self.get_paginated_response(message)
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
......@@ -22,7 +22,7 @@ class AdminCompanyViewSet(viewsets.ModelViewSet):
search_fields = ('name', 'name', 'contact_details')
http_method_names = ['get']
@rms.company_list
# @rms.company_list
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
......
......@@ -24,7 +24,7 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
ordering_fields = '__all__'
search_fields = ('name', 'company__name', 'code')
@rms.department_list
# @rms.department_list
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
......
from django.urls import path, include
from rest_framework import routers
from django.conf.urls import url
from app.applicationlayer.master.Account.views import AdminAccountViewSet
from app.applicationlayer.master.company.views import AdminCompanyViewSet
from app.applicationlayer.master.department.views import AdminDepartmentViewSet
from app.applicationlayer.master.user_type.views import UserTypeViewSet
router = routers.DefaultRouter()
router.register(r'users', AdminAccountViewSet)
router.register(r'companies', AdminCompanyViewSet)
router.register(r'departments', AdminDepartmentViewSet)
# router.register(r'user-types', UserTypeViewSet)
......
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