From ea1cb158b53df6d8bc02c8d0e087c562b02edd59 Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 21 Sep 2022 19:03:06 +0800 Subject: [PATCH] perf: add charset control --- apps/assets/const/cloud.py | 3 ++- apps/assets/const/database.py | 1 + apps/assets/const/device.py | 3 ++- apps/assets/const/host.py | 1 + apps/assets/const/protocol.py | 6 +++--- apps/assets/const/web.py | 5 +++-- apps/assets/serializers/platform.py | 6 +++++- apps/locale/zh/LC_MESSAGES/django.po | 2 +- 8 files changed, 18 insertions(+), 9 deletions(-) diff --git a/apps/assets/const/cloud.py b/apps/assets/const/cloud.py index 81819b034..8699cb286 100644 --- a/apps/assets/const/cloud.py +++ b/apps/assets/const/cloud.py @@ -10,6 +10,7 @@ class CloudTypes(BaseType): def _get_base_constrains(cls) -> dict: return { '*': { + 'charset_enabled': False, 'domain_enabled': False, 'su_enabled': False, } @@ -32,7 +33,7 @@ class CloudTypes(BaseType): def _get_protocol_constrains(cls) -> dict: return { '*': { - 'choices': ['http', 'api'], + 'choices': ['http'], }, cls.K8S: { 'choices': ['k8s'] diff --git a/apps/assets/const/database.py b/apps/assets/const/database.py index dd8026359..ce63fd7eb 100644 --- a/apps/assets/const/database.py +++ b/apps/assets/const/database.py @@ -15,6 +15,7 @@ class DatabaseTypes(BaseType): def _get_base_constrains(cls) -> dict: return { '*': { + 'charset_enabled': False, 'domain_enabled': True, 'su_enabled': False, } diff --git a/apps/assets/const/device.py b/apps/assets/const/device.py index a3c325341..1fbb4774e 100644 --- a/apps/assets/const/device.py +++ b/apps/assets/const/device.py @@ -4,7 +4,7 @@ from .base import BaseType class DeviceTypes(BaseType): - GENERAL = 'general', _("General device") + GENERAL = 'general', _("General") SWITCH = 'switch', _("Switch") ROUTER = 'router', _("Router") FIREWALL = 'firewall', _("Firewall") @@ -13,6 +13,7 @@ class DeviceTypes(BaseType): def _get_base_constrains(cls) -> dict: return { '*': { + 'charset_enabled': False, 'domain_enabled': True, 'su_enabled': False, } diff --git a/apps/assets/const/host.py b/apps/assets/const/host.py index f317fa292..2a20adc1f 100644 --- a/apps/assets/const/host.py +++ b/apps/assets/const/host.py @@ -11,6 +11,7 @@ class HostTypes(BaseType): def _get_base_constrains(cls) -> dict: return { '*': { + 'charset_enabled': True, 'domain_enabled': True, 'su_enabled': True, }, diff --git a/apps/assets/const/protocol.py b/apps/assets/const/protocol.py index 23b82b082..d7367b85d 100644 --- a/apps/assets/const/protocol.py +++ b/apps/assets/const/protocol.py @@ -96,9 +96,9 @@ class Protocol(ChoicesMixin, models.TextChoices): 'port': 80, 'secret_types': ['password'], 'setting': { - 'username_selector': '', - 'password_selector': '', - 'submit_selector': '', + 'username_selector': 'input[type=text]', + 'password_selector': 'input[type=password]', + 'submit_selector': 'button[type=submit]', } }, } diff --git a/apps/assets/const/web.py b/apps/assets/const/web.py index 48c575909..abe085c58 100644 --- a/apps/assets/const/web.py +++ b/apps/assets/const/web.py @@ -4,12 +4,13 @@ from .base import BaseType class WebTypes(BaseType): - WEBSITE = 'website', _('General website') + WEBSITE = 'website', _('Website') @classmethod def _get_base_constrains(cls) -> dict: return { '*': { + 'charset_enabled': False, 'domain_enabled': False, 'su_enabled': False, } @@ -32,6 +33,6 @@ class WebTypes(BaseType): def _get_protocol_constrains(cls) -> dict: return { '*': { - 'choices': ['http', 'api'], + 'choices': ['http'], } } diff --git a/apps/assets/serializers/platform.py b/apps/assets/serializers/platform.py index bef146327..19611b5d6 100644 --- a/apps/assets/serializers/platform.py +++ b/apps/assets/serializers/platform.py @@ -25,7 +25,11 @@ class ProtocolSettingSerializer(serializers.Serializer): sftp_enabled = serializers.BooleanField(default=True, label=_("SFTP enabled")) sftp_home = serializers.CharField(default='/tmp', label=_("SFTP home")) - via_http = serializers.BooleanField(default=False, label=_("Via HTTP")) + # 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")) class PlatformAutomationSerializer(serializers.ModelSerializer): diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 7a9a812ff..da00d3ee0 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -526,7 +526,7 @@ msgstr "内部的" #: perms/serializers/asset/user_permission.py:43 #: xpack/plugins/cloud/serializers/account_attrs.py:162 msgid "Platform" -msgstr "系统平台" +msgstr "资产平台" #: assets/models/asset.py:168 msgid "Vendor"