diff --git a/apps/users/api/user.py b/apps/users/api/user.py index ba0113a36..6bc0d4622 100644 --- a/apps/users/api/user.py +++ b/apps/users/api/user.py @@ -9,6 +9,7 @@ from rest_framework import generics from rest_framework.response import Response from rest_framework.permissions import IsAuthenticated from rest_framework_bulk import BulkModelViewSet +from rest_framework.pagination import LimitOffsetPagination from ..serializers import UserSerializer, UserPKUpdateSerializer, \ UserUpdateGroupSerializer, ChangeUserPasswordSerializer @@ -28,10 +29,12 @@ __all__ = [ class UserViewSet(IDInFilterMixin, BulkModelViewSet): + filter_fields = ('username', 'email', 'name', 'id') + search_fields = filter_fields queryset = User.objects.exclude(role="App") serializer_class = UserSerializer permission_classes = (IsOrgAdmin,) - filter_fields = ('username', 'email', 'name', 'id') + pagination_class = LimitOffsetPagination def get_queryset(self): queryset = super().get_queryset() diff --git a/apps/users/templates/users/user_list.html b/apps/users/templates/users/user_list.html index 4caf6e7a4..5b4565b8e 100644 --- a/apps/users/templates/users/user_list.html +++ b/apps/users/templates/users/user_list.html @@ -95,7 +95,7 @@ function initTable() { ], op_html: $('#actions').html() }; - table = jumpserver.initDataTable(options); + var table = jumpserver.initServerSideDataTable(options); return table }