From bd802e6a50a391de87739972b5860ebafa302c17 Mon Sep 17 00:00:00 2001 From: Eric_Lee Date: Tue, 9 Jun 2020 14:06:11 +0800 Subject: [PATCH] add logo urls (#4088) --- apps/jumpserver/conf.py | 25 ++++++++++++++++++++++++- apps/jumpserver/settings/custom.py | 1 + apps/settings/api.py | 3 ++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/apps/jumpserver/conf.py b/apps/jumpserver/conf.py index 6a54ec251..13f25d492 100644 --- a/apps/jumpserver/conf.py +++ b/apps/jumpserver/conf.py @@ -16,6 +16,7 @@ import json import yaml from importlib import import_module from django.urls import reverse_lazy +from django.contrib.staticfiles.templatetags.staticfiles import static from urllib.parse import urljoin, urlparse BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -446,6 +447,29 @@ class DynamicConfig: except: return False + def LOGO_URLS(self): + logo_urls = {'logo_logout': static('img/logo.png'), + 'logo_index': static('img/logo_text.png'), + 'login_image': static('img/login_image.png'), + 'favicon': static('img/facio.ico')} + if not HAS_XPACK: + return logo_urls + try: + from xpack.plugins.interface.models import Interface + obj = Interface.interface() + if obj: + if obj.logo_logout: + logo_urls.update({'logo_logout': obj.logo_logout.url}) + if obj.logo_index: + logo_urls.update({'logo_index': obj.logo_index.url}) + if obj.login_image: + logo_urls.update({'login_image': obj.login_image.url}) + if obj.favicon: + logo_urls.update({'favicon': obj.favicon.url}) + except: + pass + return logo_urls + def get_from_db(self, item): if self.db_setting is not None: value = self.db_setting.get(item) @@ -641,4 +665,3 @@ class ConfigManager: @classmethod def get_dynamic_config(cls, config): return DynamicConfig(config) - diff --git a/apps/jumpserver/settings/custom.py b/apps/jumpserver/settings/custom.py index 3bada5469..0be476d96 100644 --- a/apps/jumpserver/settings/custom.py +++ b/apps/jumpserver/settings/custom.py @@ -89,3 +89,4 @@ WINDOWS_SKIP_ALL_MANUAL_PASSWORD = CONFIG.WINDOWS_SKIP_ALL_MANUAL_PASSWORD # XPACK XPACK_LICENSE_IS_VALID = DYNAMIC.XPACK_LICENSE_IS_VALID +LOGO_URLS = DYNAMIC.LOGO_URLS diff --git a/apps/settings/api.py b/apps/settings/api.py index e4fcb6098..974e31a4e 100644 --- a/apps/settings/api.py +++ b/apps/settings/api.py @@ -274,7 +274,8 @@ class PublicSettingApi(generics.RetrieveAPIView): "XPACK_LICENSE_IS_VALID": settings.XPACK_LICENSE_IS_VALID, "LOGIN_CONFIRM_ENABLE": settings.LOGIN_CONFIRM_ENABLE, "SECURITY_VIEW_AUTH_NEED_MFA": settings.SECURITY_VIEW_AUTH_NEED_MFA, - "SECURITY_MFA_VERIFY_TTL": settings.SECURITY_MFA_VERIFY_TTL + "SECURITY_MFA_VERIFY_TTL": settings.SECURITY_MFA_VERIFY_TTL, + "LOGO_URLS": settings.LOGO_URLS } } return instance