diff --git a/apps/jumpserver/utils.py b/apps/jumpserver/utils.py index d19d950e2..7e29b17fd 100644 --- a/apps/jumpserver/utils.py +++ b/apps/jumpserver/utils.py @@ -2,6 +2,7 @@ # from functools import partial from werkzeug.local import LocalProxy +from datetime import datetime from django.conf import settings from common.local import thread_local @@ -26,4 +27,18 @@ def has_valid_xpack_license(): return License.has_valid_license() +def get_xpack_license_info() -> dict: + if has_valid_xpack_license(): + from xpack.plugins.license.models import License + info = License.get_license_detail() + corporation = info.get('corporation', '') + else: + current_year = datetime.now().year + corporation = f'Copyright - FIT2CLOUD 飞致云 © 2014-{current_year}' + info = { + 'corporation': corporation + } + return info + + current_request = LocalProxy(partial(_find, 'current_request')) diff --git a/apps/settings/api/public.py b/apps/settings/api/public.py index 48542a1ea..349955007 100644 --- a/apps/settings/api/public.py +++ b/apps/settings/api/public.py @@ -2,7 +2,7 @@ from rest_framework import generics from rest_framework.permissions import AllowAny from django.conf import settings -from jumpserver.utils import has_valid_xpack_license +from jumpserver.utils import has_valid_xpack_license, get_xpack_license_info from common.utils import get_logger from .. import serializers from ..utils import get_interface_setting @@ -40,6 +40,7 @@ class PublicSettingApi(generics.RetrieveAPIView): "SECURITY_PASSWORD_EXPIRATION_TIME": settings.SECURITY_PASSWORD_EXPIRATION_TIME, "SECURITY_LUNA_REMEMBER_AUTH": settings.SECURITY_LUNA_REMEMBER_AUTH, "XPACK_LICENSE_IS_VALID": has_valid_xpack_license(), + "XPACK_LICENSE_INFO": get_xpack_license_info(), "LOGIN_TITLE": self.get_login_title(), "LOGO_URLS": self.get_logo_urls(), "TICKETS_ENABLED": settings.TICKETS_ENABLED,