From c91ce2b99fce8cb5d2017b439f292d1b08be716f Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 16 Mar 2020 16:59:45 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=20=E4=BF=AE=E5=A4=8D=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=94=A8=E6=88=B7=E8=BF=94=E5=9B=9Eauth=20in?= =?UTF-8?q?fo=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/models/user.py | 7 +++---- apps/assets/serializers/system_user.py | 9 ++++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/apps/assets/models/user.py b/apps/assets/models/user.py index bb672fff3..7085a3b2b 100644 --- a/apps/assets/models/user.py +++ b/apps/assets/models/user.py @@ -158,11 +158,10 @@ class SystemUser(BaseUser): def can_perm_to_asset(self): return self.protocol not in [self.PROTOCOL_MYSQL] - def load_asset_special_auth(self, asset=None, username=None): - instance = super().load_asset_special_auth(asset=asset, username=username) + def _merge_auth(self, other): + super()._merge_auth(other) if self.username_same_with_user: - instance.username = username - return instance + self.username = other.username @property def cmd_filter_rules(self): diff --git a/apps/assets/serializers/system_user.py b/apps/assets/serializers/system_user.py index a7e413018..6a9a31b9f 100644 --- a/apps/assets/serializers/system_user.py +++ b/apps/assets/serializers/system_user.py @@ -1,5 +1,4 @@ from rest_framework import serializers - from django.utils.translation import ugettext_lazy as _ from django.db.models import Count @@ -164,6 +163,14 @@ class SystemUserListSerializer(SystemUserSerializer): class SystemUserWithAuthInfoSerializer(SystemUserSerializer): class Meta(SystemUserSerializer.Meta): + fields = [ + 'id', 'name', 'username', 'protocol', + 'password', 'public_key', 'private_key', + 'login_mode', 'login_mode_display', + 'priority', 'username_same_with_user', + 'auto_push', 'sudo', 'shell', 'comment', + 'auto_generate_key', 'sftp_root', + ] extra_kwargs = { 'nodes_amount': {'label': _('Node')}, 'assets_amount': {'label': _('Asset')},