From da35e931a2cbdafa69a571676aa846d215e451e3 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Thu, 29 Sep 2022 14:19:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?perf:=20=E6=9B=B4=E6=96=B0=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0username=20passwd=20submit=20selector=E5=8F=AF?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/serializers/platform.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index b1e6820cd..f5fe60376 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -6,7 +6,6 @@ from common.drf.serializers import JMSWritableNestedModelSerializer from ..models import Platform, PlatformProtocol, PlatformAutomation from ..const import Category, AllTypes - __all__ = ['PlatformSerializer', 'PlatformOpsMethodSerializer'] @@ -27,9 +26,9 @@ class ProtocolSettingSerializer(serializers.Serializer): # HTTP auto_fill = serializers.BooleanField(default=False, label=_("Auto fill")) - username_selector = serializers.CharField(default='', label=_("Username selector")) - password_selector = serializers.CharField(default='', label=_("Password selector")) - submit_selector = serializers.CharField(default='', label=_("Submit selector")) + username_selector = serializers.CharField(default='', allow_blank=True, label=_("Username selector")) + password_selector = serializers.CharField(default='', allow_blank=True, label=_("Password selector")) + submit_selector = serializers.CharField(default='', allow_blank=True, label=_("Submit selector")) class PlatformAutomationSerializer(serializers.ModelSerializer): From ec0c334acc78f533e0e8595ba3adf2f63f566800 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Thu, 29 Sep 2022 14:44:27 +0800 Subject: [PATCH 2/2] perf: account search --- apps/assets/api/account/account.py | 4 ++-- apps/assets/filters.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/assets/api/account/account.py b/apps/assets/api/account/account.py index bb60fdfd9..4b26c042d 100644 --- a/apps/assets/api/account/account.py +++ b/apps/assets/api/account/account.py @@ -18,8 +18,8 @@ __all__ = ['AccountViewSet', 'AccountSecretsViewSet', 'AccountTaskCreateAPI'] class AccountViewSet(OrgBulkModelViewSet): model = Account - filterset_fields = ("username", "asset", 'address', 'name') - search_fields = ('username', 'address', 'name') + filterset_fields = ("username", "asset", 'name') + search_fields = ('username', 'asset__address', 'name') filterset_class = AccountFilterSet serializer_classes = { 'default': serializers.AccountSerializer, diff --git a/apps/assets/filters.py b/apps/assets/filters.py index e44378ef7..76aa648ce 100644 --- a/apps/assets/filters.py +++ b/apps/assets/filters.py @@ -161,6 +161,7 @@ class AccountFilterSet(BaseFilterSet): ip = filters.CharFilter(field_name='address', lookup_expr='exact') hostname = filters.CharFilter(field_name='name', lookup_expr='exact') username = filters.CharFilter(field_name="username", lookup_expr='exact') + address = filters.CharFilter(field_name="asset__address", lookup_expr='exact') assets = UUIDInFilter(field_name='asset_id', lookup_expr='in') nodes = UUIDInFilter(method='filter_nodes')