From 9e6221443ec7e2fba92be49090dcc9099f98534c Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 15 Aug 2023 16:58:41 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=86=8D=E6=AC=A1=E4=BF=AE=E6=94=B9=20?= =?UTF-8?q?setting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/settings/api/settings.py | 3 +-- apps/settings/serializers/auth/base.py | 4 +++- apps/settings/serializers/auth/sso.py | 3 +++ apps/settings/serializers/basic.py | 5 ----- apps/settings/serializers/feature.py | 10 +++++++++- apps/settings/serializers/settings.py | 3 +-- 6 files changed, 17 insertions(+), 11 deletions(-) diff --git a/apps/settings/api/settings.py b/apps/settings/api/settings.py index 31a25784c..bb55dc453 100644 --- a/apps/settings/api/settings.py +++ b/apps/settings/api/settings.py @@ -44,7 +44,6 @@ class SettingsApi(generics.RetrieveUpdateAPIView): 'keycloak': serializers.KeycloakSettingSerializer, 'radius': serializers.RadiusSettingSerializer, 'cas': serializers.CASSettingSerializer, - 'sso': serializers.SSOSettingSerializer, 'saml2': serializers.SAML2SettingSerializer, 'oauth2': serializers.OAuth2SettingSerializer, 'clean': serializers.CleaningSerializer, @@ -58,7 +57,7 @@ class SettingsApi(generics.RetrieveUpdateAPIView): 'vault': serializers.VaultSettingSerializer, 'announcement': serializers.AnnouncementSettingSerializer, 'ticket': serializers.TicketSettingSerializer, - + 'ops': serializers.OpsSettingSerializer, } rbac_category_permissions = { diff --git a/apps/settings/serializers/auth/base.py b/apps/settings/serializers/auth/base.py index ffc6acf1d..16cf535b4 100644 --- a/apps/settings/serializers/auth/base.py +++ b/apps/settings/serializers/auth/base.py @@ -9,14 +9,16 @@ __all__ = [ class AuthSettingSerializer(serializers.Serializer): PREFIX_TITLE = _('Authentication') + AUTH_LDAP = serializers.BooleanField(required=False, label=_('LDAP Auth')) AUTH_CAS = serializers.BooleanField(required=False, label=_('CAS Auth')) AUTH_OPENID = serializers.BooleanField(required=False, label=_('OPENID Auth')) + AUTH_SAML2 = serializers.BooleanField(default=False, label=_("SAML2 Auth")) + AUTH_OAUTH2 = serializers.BooleanField(default=False, label=_("OAuth2 Auth")) AUTH_RADIUS = serializers.BooleanField(required=False, label=_('RADIUS Auth')) AUTH_DINGTALK = serializers.BooleanField(default=False, label=_('DingTalk Auth')) AUTH_FEISHU = serializers.BooleanField(default=False, label=_('FeiShu Auth')) AUTH_WECOM = serializers.BooleanField(default=False, label=_('WeCom Auth')) AUTH_SSO = serializers.BooleanField(default=False, label=_("SSO Auth")) - AUTH_SAML2 = serializers.BooleanField(default=False, label=_("SAML2 Auth")) FORGOT_PASSWORD_URL = serializers.CharField( required=False, allow_blank=True, max_length=1024, label=_("Forgot password url") diff --git a/apps/settings/serializers/auth/sso.py b/apps/settings/serializers/auth/sso.py index 74549c72f..fe43357d6 100644 --- a/apps/settings/serializers/auth/sso.py +++ b/apps/settings/serializers/auth/sso.py @@ -7,6 +7,9 @@ __all__ = [ class SSOSettingSerializer(serializers.Serializer): + """ + 不对外开放了,只能通过配置文件修改,比较这个稍微有点危险 + """ PREFIX_TITLE = _('SSO') AUTH_SSO = serializers.BooleanField( diff --git a/apps/settings/serializers/basic.py b/apps/settings/serializers/basic.py index 83c2b65ee..baa5edb68 100644 --- a/apps/settings/serializers/basic.py +++ b/apps/settings/serializers/basic.py @@ -13,11 +13,6 @@ class BasicSettingSerializer(serializers.Serializer): required=False, allow_blank=True, allow_null=True, label=_("User guide url"), help_text=_('User first login update profile done redirect to it') ) - FORGOT_PASSWORD_URL = serializers.URLField( - required=False, allow_blank=True, allow_null=True, label=_("Forgot password url"), - help_text=_('The forgot password url on login page, If you use ' - 'ldap or cas external authentication, you can set it') - ) GLOBAL_ORG_DISPLAY_NAME = serializers.CharField( required=False, max_length=1024, allow_blank=True, allow_null=True, label=_("Global organization name"), help_text=_('The name of global organization to display') diff --git a/apps/settings/serializers/feature.py b/apps/settings/serializers/feature.py index 8d8f40c4e..d9d6d7ec5 100644 --- a/apps/settings/serializers/feature.py +++ b/apps/settings/serializers/feature.py @@ -7,7 +7,7 @@ from accounts.const import VaultTypeChoices from common.serializers.fields import EncryptedField __all__ = [ - 'AnnouncementSettingSerializer', + 'AnnouncementSettingSerializer', 'OpsSettingSerializer', 'VaultSettingSerializer', 'TicketSettingSerializer' ] @@ -32,11 +32,15 @@ class AnnouncementSerializer(serializers.Serializer): class AnnouncementSettingSerializer(serializers.Serializer): + PREFIX_TITLE = _('Announcement') + ANNOUNCEMENT_ENABLED = serializers.BooleanField(label=_('Enable announcement'), default=True) ANNOUNCEMENT = AnnouncementSerializer(label=_("Announcement")) class VaultSettingSerializer(serializers.Serializer): + PREFIX_TITLE = _('Vault') + VAULT_TYPE = serializers.ChoiceField( default=VaultTypeChoices.local, choices=VaultTypeChoices.choices, required=False, label=_('Type') @@ -57,6 +61,8 @@ class VaultSettingSerializer(serializers.Serializer): class TicketSettingSerializer(serializers.Serializer): + PREFIX_TITLE = _('Ticket') + TICKETS_ENABLED = serializers.BooleanField(required=False, default=True, label=_("Enable tickets")) TICKET_AUTHORIZE_DEFAULT_TIME = serializers.IntegerField( min_value=1, max_value=999999, required=False, @@ -69,6 +75,8 @@ class TicketSettingSerializer(serializers.Serializer): class OpsSettingSerializer(serializers.Serializer): + PREFIX_TITLE = _('Feature') + SECURITY_COMMAND_EXECUTION = serializers.BooleanField( required=False, label=_('Operation center'), help_text=_('Allow user run batch command or not using ansible') diff --git a/apps/settings/serializers/settings.py b/apps/settings/serializers/settings.py index a0e022f77..2d38ed74a 100644 --- a/apps/settings/serializers/settings.py +++ b/apps/settings/serializers/settings.py @@ -9,7 +9,7 @@ from .auth import ( CASSettingSerializer, RadiusSettingSerializer, FeiShuSettingSerializer, WeComSettingSerializer, DingTalkSettingSerializer, AlibabaSMSSettingSerializer, TencentSMSSettingSerializer, CMPP2SMSSettingSerializer, AuthSettingSerializer, - SAML2SettingSerializer, OAuth2SettingSerializer, SSOSettingSerializer, + SAML2SettingSerializer, OAuth2SettingSerializer, CustomSMSSettingSerializer, ) from .basic import BasicSettingSerializer @@ -42,7 +42,6 @@ class SettingsSerializer( KeycloakSettingSerializer, CASSettingSerializer, RadiusSettingSerializer, - SSOSettingSerializer, CleaningSerializer, AlibabaSMSSettingSerializer, TencentSMSSettingSerializer,