fnp
/
django-ssify.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Django 1.11 compatibility fixes.
[django-ssify.git]
/
ssify
/
decorators.py
diff --git
a/ssify/decorators.py
b/ssify/decorators.py
index
9caddd0
..
1e2d62a
100644
(file)
--- a/
ssify/decorators.py
+++ b/
ssify/decorators.py
@@
-9,7
+9,14
@@
from __future__ import unicode_literals
import functools
from inspect import getargspec
import warnings
import functools
from inspect import getargspec
import warnings
-from django.template.base import parse_bits
+from django.conf import settings
+from django.http import Http404
+try:
+ # Django 1.9
+ from django.template.library import parse_bits
+except ImportError:
+ from django.template.base import parse_bits
+
from django.utils.translation import get_language, activate
from .cache import cache_include, DEFAULT_TIMEOUT
from . import exceptions
from django.utils.translation import get_language, activate
from .cache import cache_include, DEFAULT_TIMEOUT
from . import exceptions
@@
-39,6
+46,8
@@
def ssi_included(view=None, use_lang=True,
lang = kwargs.pop('lang')
except KeyError:
raise exceptions.NoLangFieldError(request)
lang = kwargs.pop('lang')
except KeyError:
raise exceptions.NoLangFieldError(request)
+ if lang not in [language[0] for language in settings.LANGUAGES]:
+ raise Http404
current_lang = get_language()
activate(lang)
request.LANGUAGE_CODE = lang
current_lang = get_language()
activate(lang)
request.LANGUAGE_CODE = lang
@@
-52,7
+61,7
@@
def ssi_included(view=None, use_lang=True,
request._cache_update_cache = False
def _check_included_vars(response):
request._cache_update_cache = False
def _check_included_vars(response):
- used_vars =
request.ssi_vars_needed
+ used_vars =
getattr(request, 'ssi_vars_needed', {})
if get_ssi_vars:
# Remove the ssi vars that should be provided
# by the including view.
if get_ssi_vars:
# Remove the ssi vars that should be provided
# by the including view.