mirror of https://github.com/jumpserver/jumpserver
serializer优化&&资产授权导入优化
parent
9a92e24e50
commit
72f9d0d371
|
@ -91,24 +91,23 @@ class AssetPermissionSerializer(BulkOrgResourceModelSerializer):
|
||||||
data['system_users'].append(system_user.id)
|
data['system_users'].append(system_user.id)
|
||||||
return super().to_internal_value(data)
|
return super().to_internal_value(data)
|
||||||
|
|
||||||
|
|
||||||
def perform_display_create(self, instance, **kwargs):
|
def perform_display_create(self, instance, **kwargs):
|
||||||
# 用户
|
# 用户
|
||||||
users_to_set = User.objects.filter(
|
users_to_set = User.objects.filter(
|
||||||
Q(name__in=kwargs.get('users_display')) | Q(username__in=kwargs.get('users_display'))
|
Q(name__in=kwargs.get('users_display')) | Q(username__in=kwargs.get('users_display'))
|
||||||
).distinct()
|
).distinct()
|
||||||
instance.users.add(users_to_set)
|
instance.users.add(*users_to_set)
|
||||||
# 用户组
|
# 用户组
|
||||||
user_groups_to_set = UserGroup.objects.filter(name__in=kwargs.get('user_groups_display')).distinct()
|
user_groups_to_set = UserGroup.objects.filter(name__in=kwargs.get('user_groups_display')).distinct()
|
||||||
instance.user_groups.add(user_groups_to_set)
|
instance.user_groups.add(*user_groups_to_set)
|
||||||
# 资产
|
# 资产
|
||||||
assets_to_set = Asset.objects.filter(
|
assets_to_set = Asset.objects.filter(
|
||||||
Q(ip__in=kwargs.get('assets_display')) | Q(hostname__in=kwargs.get('assets_display'))
|
Q(ip__in=kwargs.get('assets_display')) | Q(hostname__in=kwargs.get('assets_display'))
|
||||||
).distinct()
|
).distinct()
|
||||||
instance.assets.add(assets_to_set)
|
instance.assets.add(*assets_to_set)
|
||||||
# 节点
|
# 节点
|
||||||
nodes_to_set = Node.objects.filter(full_value__in=kwargs.get('nodes_display')).distinct()
|
nodes_to_set = Node.objects.filter(full_value__in=kwargs.get('nodes_display')).distinct()
|
||||||
instance.nodes.add(nodes_to_set)
|
instance.nodes.add(*nodes_to_set)
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
display = {
|
display = {
|
||||||
|
|
|
@ -51,7 +51,7 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer):
|
||||||
# small 指的是 不需要计算的直接能从一张表中获取到的数据
|
# small 指的是 不需要计算的直接能从一张表中获取到的数据
|
||||||
fields_small = fields_mini + fields_write_only + [
|
fields_small = fields_mini + fields_write_only + [
|
||||||
'email', 'wechat', 'phone', 'mfa_level',
|
'email', 'wechat', 'phone', 'mfa_level',
|
||||||
'source', 'source_display',
|
'source', 'source_display', 'can_public_key_auth', 'need_update_password',
|
||||||
'mfa_enabled', 'is_valid', 'is_expired', 'is_active', # 布尔字段
|
'mfa_enabled', 'is_valid', 'is_expired', 'is_active', # 布尔字段
|
||||||
'date_expired', 'date_joined', 'last_login', # 日期字段
|
'date_expired', 'date_joined', 'last_login', # 日期字段
|
||||||
'created_by', 'comment', # 通用字段
|
'created_by', 'comment', # 通用字段
|
||||||
|
|
Loading…
Reference in New Issue