From 69c0eb2f5078ffeaad7e5770bddbcf26643c7954 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Thu, 9 Nov 2023 17:25:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=96=E7=BF=BB=E8=AF=91=20(#12078)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: feng <1304903146@qq.com> --- apps/assets/const/types.py | 4 ++-- apps/jumpserver/middleware.py | 22 ++++++++++++++++++++++ apps/jumpserver/settings/base.py | 1 + 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/apps/assets/const/types.py b/apps/assets/const/types.py index 8654002b9..b1cecc3df 100644 --- a/apps/assets/const/types.py +++ b/apps/assets/const/types.py @@ -61,8 +61,8 @@ class AllTypes(ChoicesMixin): @classmethod def get_automation_methods(cls): - from assets.automations import platform_automation_methods as asset_methods - from accounts.automations import platform_automation_methods as account_methods + from assets.automations.methods import platform_automation_methods as asset_methods + from accounts.automations.methods import platform_automation_methods as account_methods return asset_methods + account_methods @classmethod diff --git a/apps/jumpserver/middleware.py b/apps/jumpserver/middleware.py index 9a49189c8..7e009b893 100644 --- a/apps/jumpserver/middleware.py +++ b/apps/jumpserver/middleware.py @@ -142,3 +142,25 @@ class EndMiddleware: response = self.get_response(request) request._e_time_end = time.time() return response + + +class TranslatePatchMiddleware: + def __init__(self, get_response): + self.get_response = get_response + + def __call__(self, request): + from assets.automations import methods as assets + from accounts.automations import methods as accounts + language = request.LANGUAGE_CODE + if language != settings.LANGUAGE_CODE: + settings.LANGUAGE_CODE = language + assets.platform_automation_methods = \ + assets.get_platform_automation_methods( + assets.BASE_DIR + ) + accounts.platform_automation_methods = \ + accounts.get_platform_automation_methods( + accounts.BASE_DIR + ) + response = self.get_response(request) + return response diff --git a/apps/jumpserver/settings/base.py b/apps/jumpserver/settings/base.py index 4da1dfc7e..78875f790 100644 --- a/apps/jumpserver/settings/base.py +++ b/apps/jumpserver/settings/base.py @@ -160,6 +160,7 @@ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', + 'jumpserver.middleware.TranslatePatchMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',