mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Change middlwares order and set cookies cookies instead of using deprecated sessions for language switching
This commit is contained in:
+2
-2
@@ -393,20 +393,20 @@ packages to ``INSTALLED_APPS``:
|
||||
'django_otp.plugins.otp_static',
|
||||
)
|
||||
|
||||
Add new middlewares to ``MIDDLEWARE``:
|
||||
Add new middlewares to ``MIDDLEWARE``. It has to be after the SessionMiddleware and before the CommonMiddleware:
|
||||
|
||||
.. sourcecode:: python
|
||||
|
||||
MIDDLEWARE = (
|
||||
'x_forwarded_for.middleware.XForwardedForMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django_otp.middleware.OTPMiddleware',
|
||||
'modoboa.core.middleware.TwoFAMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'modoboa.core.middleware.LocalConfigMiddleware',
|
||||
'modoboa.lib.middleware.AjaxLoginRedirect',
|
||||
|
||||
@@ -97,15 +97,15 @@ INSTALLED_APPS += MODOBOA_APPS
|
||||
AUTH_USER_MODEL = 'core.User'
|
||||
|
||||
MIDDLEWARE = (
|
||||
'x_forwarded_for.middleware.XForwardedForMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'x_forwarded_for.middleware.XForwardedForMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django_otp.middleware.OTPMiddleware',
|
||||
'modoboa.core.middleware.TwoFAMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'modoboa.core.middleware.LocalConfigMiddleware',
|
||||
'modoboa.lib.middleware.AjaxLoginRedirect',
|
||||
|
||||
@@ -4,6 +4,7 @@ import logging
|
||||
|
||||
import oath
|
||||
|
||||
from django.conf import settings
|
||||
from django.http import (
|
||||
HttpResponse, HttpResponseRedirect, Http404, JsonResponse)
|
||||
from django.template.loader import render_to_string
|
||||
@@ -83,8 +84,6 @@ def dologin(request):
|
||||
request.session.set_expiry(0)
|
||||
|
||||
translation.activate(request.user.language)
|
||||
request.session[translation.LANGUAGE_SESSION_KEY] = (
|
||||
request.user.language)
|
||||
|
||||
logger.info(
|
||||
_("User '%s' successfully logged in") % user.username
|
||||
@@ -93,7 +92,10 @@ def dologin(request):
|
||||
sender="dologin",
|
||||
username=form.cleaned_data["username"],
|
||||
password=form.cleaned_data["password"])
|
||||
return HttpResponseRedirect(find_nextlocation(request, user))
|
||||
response = HttpResponseRedirect(find_nextlocation(request, user))
|
||||
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, request.user.language)
|
||||
return response
|
||||
|
||||
error = _(
|
||||
"Your username and password didn't match. Please try again.")
|
||||
logger.warning(
|
||||
|
||||
@@ -5,6 +5,7 @@ import io
|
||||
import qrcode
|
||||
import qrcode.image.svg
|
||||
|
||||
from django.conf import settings
|
||||
from django.shortcuts import render
|
||||
from django.template.loader import render_to_string
|
||||
from django.utils import translation
|
||||
@@ -55,11 +56,10 @@ def profile(request, tplname="core/user_profile.html"):
|
||||
form.cleaned_data["confirmation"]
|
||||
))
|
||||
translation.activate(request.user.language)
|
||||
request.session[translation.LANGUAGE_SESSION_KEY] = (
|
||||
request.user.language)
|
||||
return render_to_json_response(_("Profile updated"))
|
||||
return render_to_json_response(
|
||||
{"form_errors": form.errors}, status=400)
|
||||
response = render_to_json_response(_("Profile updated"))
|
||||
response.set_cookie(settings.LANGUAGE_COOKIE_NAME, request.user.language)
|
||||
return response
|
||||
render_to_json_response({"form_errors": form.errors}, status=400)
|
||||
|
||||
form = ProfileForm(update_password, instance=request.user)
|
||||
return render_to_json_response({
|
||||
|
||||
@@ -104,15 +104,15 @@ INSTALLED_APPS += MODOBOA_APPS
|
||||
AUTH_USER_MODEL = 'core.User'
|
||||
|
||||
MIDDLEWARE = (
|
||||
'x_forwarded_for.middleware.XForwardedForMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'x_forwarded_for.middleware.XForwardedForMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django_otp.middleware.OTPMiddleware',
|
||||
'modoboa.core.middleware.TwoFAMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'modoboa.core.middleware.LocalConfigMiddleware',
|
||||
'modoboa.lib.middleware.AjaxLoginRedirect',
|
||||
|
||||
Reference in New Issue
Block a user