mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-27 10:44:33 +00:00
sso, translation: Help set language cookie when user logins in
This patch only ensures that response object is send along with set_language() call. In later changes, response object can be used by set_language() to set the language cookie. Tests: - Relevant functional tests pass. - Login, user's language is set when the language is set to non-browser sent language. - Logout, user's language is retained when set to non-browser sent language. - Login, user's language is set when the language is set to browser sent language. - Logout, user's language is retained when set to browser sent language. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
45b5769ce6
commit
57931353d3
@ -13,7 +13,7 @@ from django.contrib.auth import REDIRECT_FIELD_NAME
|
||||
from django.contrib.auth.views import LoginView, LogoutView
|
||||
from django.http import HttpResponseRedirect
|
||||
|
||||
from plinth import actions, utils, web_framework
|
||||
from plinth import actions, translation, utils, web_framework
|
||||
|
||||
from .forms import AuthenticationForm, CaptchaAuthenticationForm
|
||||
|
||||
@ -51,6 +51,8 @@ class SSOLoginView(LoginView):
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
response = super(SSOLoginView, self).dispatch(request, *args, **kwargs)
|
||||
if request.user.is_authenticated:
|
||||
translation.set_language(request, response,
|
||||
request.user.userprofile.language)
|
||||
return set_ticket_cookie(request.user, response)
|
||||
|
||||
return response
|
||||
|
||||
@ -4,8 +4,6 @@ Utility methods for managing translations.
|
||||
"""
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.signals import user_logged_in
|
||||
from django.dispatch import receiver
|
||||
from django.utils import translation
|
||||
|
||||
|
||||
@ -58,8 +56,3 @@ def set_language(request, response, language_code):
|
||||
domain=settings.LANGUAGE_COOKIE_DOMAIN,
|
||||
)
|
||||
|
||||
|
||||
@receiver(user_logged_in)
|
||||
def _on_user_logged_in(sender, request, user, **kwargs):
|
||||
"""When the user logs in, set the current language."""
|
||||
set_language(request, None, user.userprofile.language)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user