23 lines
693 B
Python
23 lines
693 B
Python
"""
|
|
Language Preference Views
|
|
"""
|
|
import json
|
|
from django.conf import settings
|
|
from django.views.decorators.csrf import ensure_csrf_cookie
|
|
from django.utils.translation import LANGUAGE_SESSION_KEY
|
|
from lang_pref import LANGUAGE_KEY
|
|
from django.http import HttpResponse
|
|
|
|
|
|
@ensure_csrf_cookie
|
|
def update_session_language(request):
|
|
"""
|
|
Update the language session key.
|
|
"""
|
|
if request.method == 'PATCH':
|
|
data = json.loads(request.body)
|
|
language = data.get(LANGUAGE_KEY, settings.LANGUAGE_CODE)
|
|
if request.session.get(LANGUAGE_SESSION_KEY, None) != language:
|
|
request.session[LANGUAGE_SESSION_KEY] = unicode(language)
|
|
return HttpResponse(200)
|