From a7c82f94cc52c52d57811af7fe977bb3ce93230d Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Mon, 8 Aug 2022 19:18:45 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E5=A4=8D=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=87=E6=A1=A3=20=E4=BF=AE=E5=A4=8D=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/migrations/0045_auto_20191206_1607.py | 2 +- apps/assets/models/_user.py | 5 +++++ apps/assets/models/asset/common.py | 7 ++++++- apps/assets/models/platform.py | 2 +- apps/audits/api.py | 2 ++ apps/perms/api/application/user_permission/common.py | 5 ++--- apps/rbac/permissions.py | 2 +- 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/apps/assets/migrations/0045_auto_20191206_1607.py b/apps/assets/migrations/0045_auto_20191206_1607.py index bf04ad773..a2a136c3b 100644 --- a/apps/assets/migrations/0045_auto_20191206_1607.py +++ b/apps/assets/migrations/0045_auto_20191206_1607.py @@ -34,7 +34,7 @@ class Migration(migrations.Migration): model_name='asset', name='platform', field=models.ForeignKey( - default=assets.models.Platform.default, + default='', on_delete=django.db.models.deletion.PROTECT, related_name='assets', to='assets.Platform', verbose_name='Platform'), diff --git a/apps/assets/models/_user.py b/apps/assets/models/_user.py index 94e38b1e4..2ecb39094 100644 --- a/apps/assets/models/_user.py +++ b/apps/assets/models/_user.py @@ -128,6 +128,11 @@ class SystemUser(ProtocolMixin, BaseUser): return self.su_from.assets.add(*tuple(assets_or_ids)) + # TODO 暂时为了接口文档添加 + @property + def auto_push_account(self): + return + class Meta: ordering = ['name'] unique_together = [('name', 'org_id')] diff --git a/apps/assets/models/asset/common.py b/apps/assets/models/asset/common.py index e24c7e80d..e2544f2b8 100644 --- a/apps/assets/models/asset/common.py +++ b/apps/assets/models/asset/common.py @@ -183,7 +183,7 @@ class Asset(AbsConnectivity, NodesRelationMixin, OrgModelMixin): def get_all_system_users(self): from assets.models import SystemUser - system_user_ids = SystemUser.assets.through.objects.filter(asset=self)\ + system_user_ids = SystemUser.assets.through.objects.filter(asset=self) \ .values_list('systemuser_id', flat=True) system_users = SystemUser.objects.filter(id__in=system_user_ids) return system_users @@ -193,6 +193,11 @@ class Asset(AbsConnectivity, NodesRelationMixin, OrgModelMixin): self.category = self.platform.category return super().save(*args, **kwargs) + # TODO 暂时为了接口文档添加 + @property + def os(self): + return + class Meta: unique_together = [('org_id', 'hostname')] verbose_name = _("Asset") diff --git a/apps/assets/models/platform.py b/apps/assets/models/platform.py index 878940e9e..d50afd27e 100644 --- a/apps/assets/models/platform.py +++ b/apps/assets/models/platform.py @@ -14,7 +14,7 @@ class Platform(models.Model): ('gbk', 'GBK'), ) name = models.SlugField(verbose_name=_("Name"), unique=True, allow_unicode=True) - category = models.CharField(max_length=16, choices=Category.choices, verbose_name=_("Category")) + category = models.CharField(max_length=16, choices=Category.choices, default=Category.HOST, verbose_name=_("Category")) type = models.CharField(choices=AllTypes.choices, max_length=32, default='Linux', verbose_name=_("Type")) charset = models.CharField(default='utf8', choices=CHARSET_CHOICES, max_length=8, verbose_name=_("Charset")) meta = JsonDictTextField(blank=True, null=True, verbose_name=_("Meta")) diff --git a/apps/audits/api.py b/apps/audits/api.py index fb1efe989..2abc52a57 100644 --- a/apps/audits/api.py +++ b/apps/audits/api.py @@ -117,6 +117,8 @@ class CommandExecutionViewSet(ListModelMixin, OrgGenericViewSet): def get_queryset(self): queryset = super().get_queryset() + if getattr(self, 'swagger_fake_view', False): + return queryset.model.objects.none() if current_org.is_root(): return queryset queryset = queryset.filter(run_as__org_id=current_org.org_id()) diff --git a/apps/perms/api/application/user_permission/common.py b/apps/perms/api/application/user_permission/common.py index d4c68662a..934748a18 100644 --- a/apps/perms/api/application/user_permission/common.py +++ b/apps/perms/api/application/user_permission/common.py @@ -10,7 +10,7 @@ from rest_framework.generics import ( ListAPIView, get_object_or_404 ) -from orgs.utils import tmp_to_root_org, get_current_org +from orgs.utils import tmp_to_root_org from applications.models import Application from perms.utils.application.permission import ( get_application_system_user_ids, @@ -20,7 +20,6 @@ from .mixin import AppRoleAdminMixin, AppRoleUserMixin from perms.hands import User, SystemUser from perms import serializers - __all__ = [ 'UserGrantedApplicationSystemUsersApi', 'MyGrantedApplicationSystemUsersApi', @@ -40,7 +39,7 @@ class BaseGrantedApplicationSystemUsersApi(ListAPIView): application_id = self.kwargs.get('application_id') application = get_object_or_404(Application, id=application_id) system_user_ids = self.get_application_system_user_ids(application) - system_users = SystemUser.objects.filter(id__in=system_user_ids)\ + system_users = SystemUser.objects.filter(id__in=system_user_ids) \ .only(*self.only_fields).order_by('priority') return system_users diff --git a/apps/rbac/permissions.py b/apps/rbac/permissions.py index 286e5b935..b25fa1baf 100644 --- a/apps/rbac/permissions.py +++ b/apps/rbac/permissions.py @@ -94,7 +94,7 @@ class RBACPermission(permissions.DjangoModelPermissions): queryset = self._queryset(view) model_cls = queryset.model except Exception as e: - raise e + logger.error(e) model_cls = None return model_cls