mirror of https://github.com/jumpserver/jumpserver
fix(users): 修复用户与用户组关系变化时没触发信号
parent
962ea67b84
commit
4cf5573c36
|
@ -1,9 +1,9 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
|
||||
from rest_framework_bulk import BulkModelViewSet
|
||||
from django.db.models import F
|
||||
|
||||
from common.drf.api import JMSBulkRelationModelViewSet
|
||||
from common.permissions import IsOrgAdmin
|
||||
from .. import serializers
|
||||
from ..models import User
|
||||
|
@ -11,17 +11,17 @@ from ..models import User
|
|||
__all__ = ['UserUserGroupRelationViewSet']
|
||||
|
||||
|
||||
class UserUserGroupRelationViewSet(BulkModelViewSet):
|
||||
class UserUserGroupRelationViewSet(JMSBulkRelationModelViewSet):
|
||||
filter_fields = ('user', 'usergroup')
|
||||
search_fields = filter_fields
|
||||
serializer_class = serializers.UserUserGroupRelationSerializer
|
||||
permission_classes = (IsOrgAdmin,)
|
||||
m2m_field = User.groups.field
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = User.groups.through.objects.all()\
|
||||
.annotate(user_display=F('user__name'))\
|
||||
.annotate(usergroup_display=F('usergroup__name'))
|
||||
return queryset
|
||||
return super().get_queryset().annotate(
|
||||
user_display=F('user__name'), usergroup_display=F('usergroup__name')
|
||||
)
|
||||
|
||||
def allow_bulk_destroy(self, qs, filtered):
|
||||
if filtered.count() != 1:
|
||||
|
|
Loading…
Reference in New Issue