mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-09 00:58:16 -06:00
Align language cookie with session lifetime
This commit is contained in:
parent
4f937822c2
commit
8577ff126f
@ -111,7 +111,7 @@ class LoginView(View):
|
|||||||
|
|
||||||
# Set the user's preferred language (if any)
|
# Set the user's preferred language (if any)
|
||||||
if language := request.user.config.get('locale.language'):
|
if language := request.user.config.get('locale.language'):
|
||||||
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language)
|
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age())
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@ -206,7 +206,7 @@ class UserConfigView(LoginRequiredMixin, View):
|
|||||||
|
|
||||||
# Set/clear language cookie
|
# Set/clear language cookie
|
||||||
if language := form.cleaned_data['locale.language']:
|
if language := form.cleaned_data['locale.language']:
|
||||||
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language)
|
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age())
|
||||||
else:
|
else:
|
||||||
response.delete_cookie(settings.LANGUAGE_COOKIE_NAME)
|
response.delete_cookie(settings.LANGUAGE_COOKIE_NAME)
|
||||||
|
|
||||||
|
@ -43,17 +43,15 @@ class CoreMiddleware:
|
|||||||
login_url = f'{settings.LOGIN_URL}?next={parse.quote(request.get_full_path_info())}'
|
login_url = f'{settings.LOGIN_URL}?next={parse.quote(request.get_full_path_info())}'
|
||||||
return HttpResponseRedirect(login_url)
|
return HttpResponseRedirect(login_url)
|
||||||
|
|
||||||
# If language cookie is not set, check if it should be set and redirect to requested page
|
|
||||||
if request.user.is_authenticated and not request.COOKIES.get(settings.LANGUAGE_COOKIE_NAME):
|
|
||||||
if language := request.user.config.get('locale.language'):
|
|
||||||
response = HttpResponseRedirect(request.path)
|
|
||||||
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language)
|
|
||||||
return response
|
|
||||||
|
|
||||||
# Enable the event_tracking context manager and process the request.
|
# Enable the event_tracking context manager and process the request.
|
||||||
with event_tracking(request):
|
with event_tracking(request):
|
||||||
response = self.get_response(request)
|
response = self.get_response(request)
|
||||||
|
|
||||||
|
# Check if language cookie should be renewed
|
||||||
|
if request.user.is_authenticated and settings.SESSION_SAVE_EVERY_REQUEST:
|
||||||
|
if language := request.user.config.get('locale.language'):
|
||||||
|
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age())
|
||||||
|
|
||||||
# Attach the unique request ID as an HTTP header.
|
# Attach the unique request ID as an HTTP header.
|
||||||
response['X-Request-ID'] = request.id
|
response['X-Request-ID'] = request.id
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user