mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-06-26 15:01:59 +00:00
fix: login page i18n same with personal settings
This commit is contained in:
parent
fb64af2eb2
commit
d32c11bced
@ -37,7 +37,7 @@ def on_user_auth_login_success(sender, user, request, **kwargs):
|
||||
cache.set(lock_key, request.session.session_key, None)
|
||||
|
||||
lang = request.COOKIES.get('django_language')
|
||||
if not user.lang and lang:
|
||||
if lang:
|
||||
user.lang = lang
|
||||
|
||||
|
||||
|
@ -294,6 +294,19 @@ class UserLoginGuardView(mixins.AuthMixin, RedirectView):
|
||||
)
|
||||
return url
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
from django.utils import timezone
|
||||
response = super().get(request, *args, **kwargs)
|
||||
try:
|
||||
response.set_cookie(
|
||||
settings.LANGUAGE_COOKIE_NAME,
|
||||
request.user.lang,
|
||||
expires=timezone.now() + timezone.timedelta(days=365)
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
return response
|
||||
|
||||
|
||||
class UserLoginWaitConfirmView(TemplateView):
|
||||
template_name = 'authentication/login_wait_confirm.html'
|
||||
|
@ -137,42 +137,3 @@ class EndMiddleware:
|
||||
response = self.get_response(request)
|
||||
request._e_time_end = time.time()
|
||||
return response
|
||||
|
||||
|
||||
class LocaleMiddleware:
|
||||
@staticmethod
|
||||
def check_white_urls(request):
|
||||
white_urls = [
|
||||
'core/auth/login', 'jsi18n/', '/static/', '/core/i18n/', '/authentication/user-session/'
|
||||
]
|
||||
for url in white_urls:
|
||||
if request.path.find(url) > -1:
|
||||
return True
|
||||
return False
|
||||
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
response = self.get_response(request)
|
||||
if self.check_white_urls(request):
|
||||
return response
|
||||
lang = None
|
||||
if request.user.is_authenticated:
|
||||
lang = getattr(request.user, 'lang', None)
|
||||
|
||||
if not lang:
|
||||
lang = translation.get_language_from_request(request, check_path=False)
|
||||
|
||||
lang = lang or settings.LANGUAGE_CODE
|
||||
try:
|
||||
translation.activate(lang)
|
||||
request.LANGUAGE_CODE = lang
|
||||
response.set_cookie(
|
||||
settings.LANGUAGE_COOKIE_NAME,
|
||||
lang,
|
||||
expires=timezone.now() + timezone.timedelta(days=365)
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
return response
|
||||
|
@ -165,7 +165,6 @@ MIDDLEWARE = [
|
||||
'jumpserver.middleware.RequestMiddleware',
|
||||
'jumpserver.middleware.RefererCheckMiddleware',
|
||||
'jumpserver.middleware.SQLCountMiddleware',
|
||||
'jumpserver.middleware.LocaleMiddleware',
|
||||
'orgs.middleware.OrgMiddleware',
|
||||
'authentication.backends.oidc.middleware.OIDCRefreshIDTokenMiddleware',
|
||||
'authentication.backends.cas.middleware.CASMiddleware',
|
||||
|
Loading…
Reference in New Issue
Block a user