Fixed #3640 -- Improved error handling in views.i18n.set_language(). Thanks
Jorge Gajon. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4708 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
2a488f3cd4
commit
e5fa609ba7
1
AUTHORS
1
AUTHORS
|
@ -85,6 +85,7 @@ answer newbie questions, and generally made Django that much better:
|
||||||
Marc Fargas <telenieko@telenieko.com>
|
Marc Fargas <telenieko@telenieko.com>
|
||||||
favo@exoweb.net
|
favo@exoweb.net
|
||||||
Eric Floehr <eric@intellovations.com>
|
Eric Floehr <eric@intellovations.com>
|
||||||
|
Jorge Gajon <gajon@gajon.org>
|
||||||
gandalf@owca.info
|
gandalf@owca.info
|
||||||
Baishampayan Ghose
|
Baishampayan Ghose
|
||||||
martin.glueck@gmail.com
|
martin.glueck@gmail.com
|
||||||
|
|
|
@ -9,16 +9,16 @@ def set_language(request):
|
||||||
"""
|
"""
|
||||||
Redirect to a given url while setting the chosen language in the
|
Redirect to a given url while setting the chosen language in the
|
||||||
session or cookie. The url and the language code need to be
|
session or cookie. The url and the language code need to be
|
||||||
specified in the GET paramters.
|
specified in the GET parameters.
|
||||||
"""
|
"""
|
||||||
lang_code = request.GET['language']
|
lang_code = request.GET.get('language', None)
|
||||||
next = request.GET.get('next', None)
|
next = request.GET.get('next', None)
|
||||||
if not next:
|
if not next:
|
||||||
next = request.META.get('HTTP_REFERER', None)
|
next = request.META.get('HTTP_REFERER', None)
|
||||||
if not next:
|
if not next:
|
||||||
next = '/'
|
next = '/'
|
||||||
response = http.HttpResponseRedirect(next)
|
response = http.HttpResponseRedirect(next)
|
||||||
if check_for_language(lang_code):
|
if lang_code and check_for_language(lang_code):
|
||||||
if hasattr(request, 'session'):
|
if hasattr(request, 'session'):
|
||||||
request.session['django_language'] = lang_code
|
request.session['django_language'] = lang_code
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue