Unverified Commit 371aff32 authored by BaiJiangJie's avatar BaiJiangJie Committed by GitHub

[Update] 优化用户组列表用户显示问题 (#2882)

parent bab4326a
...@@ -5,8 +5,11 @@ from rest_framework import generics ...@@ -5,8 +5,11 @@ from rest_framework import generics
from rest_framework_bulk import BulkModelViewSet from rest_framework_bulk import BulkModelViewSet
from rest_framework.pagination import LimitOffsetPagination from rest_framework.pagination import LimitOffsetPagination
from ..serializers import UserGroupSerializer, \ from ..serializers import (
UserGroupUpdateMemberSerializer UserGroupSerializer,
UserGroupListSerializer,
UserGroupUpdateMemberSerializer,
)
from ..models import UserGroup from ..models import UserGroup
from common.permissions import IsOrgAdmin from common.permissions import IsOrgAdmin
from common.mixins import IDInCacheFilterMixin from common.mixins import IDInCacheFilterMixin
...@@ -23,6 +26,12 @@ class UserGroupViewSet(IDInCacheFilterMixin, BulkModelViewSet): ...@@ -23,6 +26,12 @@ class UserGroupViewSet(IDInCacheFilterMixin, BulkModelViewSet):
permission_classes = (IsOrgAdmin,) permission_classes = (IsOrgAdmin,)
pagination_class = LimitOffsetPagination pagination_class = LimitOffsetPagination
def get_serializer_class(self):
if self.action in ("list", 'retrieve') and \
self.request.query_params.get("display"):
return UserGroupListSerializer
return self.serializer_class
class UserGroupUpdateUserApi(generics.RetrieveUpdateAPIView): class UserGroupUpdateUserApi(generics.RetrieveUpdateAPIView):
queryset = UserGroup.objects.all() queryset = UserGroup.objects.all()
......
...@@ -6,10 +6,19 @@ from rest_framework import serializers ...@@ -6,10 +6,19 @@ from rest_framework import serializers
from common.utils import get_signer, validate_ssh_public_key from common.utils import get_signer, validate_ssh_public_key
from common.mixins import BulkSerializerMixin from common.mixins import BulkSerializerMixin
from common.fields import StringManyToManyField
from common.serializers import AdaptedBulkListSerializer from common.serializers import AdaptedBulkListSerializer
from orgs.mixins import BulkOrgResourceModelSerializer from orgs.mixins import BulkOrgResourceModelSerializer
from ..models import User, UserGroup from ..models import User, UserGroup
__all__ = [
'UserSerializer', 'UserPKUpdateSerializer', 'UserUpdateGroupSerializer',
'UserGroupSerializer', 'UserGroupListSerializer',
'UserGroupUpdateMemberSerializer', 'ChangeUserPasswordSerializer'
]
signer = get_signer() signer = get_signer()
...@@ -108,6 +117,10 @@ class UserGroupSerializer(BulkOrgResourceModelSerializer): ...@@ -108,6 +117,10 @@ class UserGroupSerializer(BulkOrgResourceModelSerializer):
} }
class UserGroupListSerializer(UserGroupSerializer):
users = StringManyToManyField(many=True, read_only=True)
class UserGroupUpdateMemberSerializer(serializers.ModelSerializer): class UserGroupUpdateMemberSerializer(serializers.ModelSerializer):
users = serializers.PrimaryKeyRelatedField(many=True, queryset=User.objects.all()) users = serializers.PrimaryKeyRelatedField(many=True, queryset=User.objects.all())
......
...@@ -79,7 +79,7 @@ function initTable() { ...@@ -79,7 +79,7 @@ function initTable() {
} }
}} }}
], ],
ajax_url: '{% url "api-users:user-group-list" %}', ajax_url: '{% url "api-users:user-group-list" %}?display=1',
columns: [{data: function(){return ""}}, {data: "name" }, {data: "users"}, columns: [{data: function(){return ""}}, {data: "name" }, {data: "users"},
{data: "comment"}, {data: "id" }], {data: "comment"}, {data: "id" }],
order: [], order: [],
......
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