mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
locale: Decouple language setting from login views
Use the user_logged_in signal provided by Django to log the user in. This keeps the login code simple and uncluttered. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
cfec96a9c7
commit
1cb7b3210a
@ -25,7 +25,6 @@ import urllib
|
||||
from django.contrib.auth import REDIRECT_FIELD_NAME
|
||||
from django.contrib.auth.views import LoginView, LogoutView
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.utils import translation
|
||||
|
||||
from axes.decorators import axes_form_invalid
|
||||
from axes.utils import reset
|
||||
@ -66,7 +65,6 @@ class SSOLoginView(LoginView):
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
response = super(SSOLoginView, self).dispatch(request, *args, **kwargs)
|
||||
if request.user.is_authenticated:
|
||||
request.session[translation.LANGUAGE_SESSION_KEY] = request.user.userprofile.preferred_language
|
||||
return set_ticket_cookie(request.user, response)
|
||||
else:
|
||||
return response
|
||||
|
||||
@ -71,3 +71,9 @@ def set_language(request, response, language_code):
|
||||
path=settings.LANGUAGE_COOKIE_PATH,
|
||||
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