Skip to content

Commit fe147ec

Browse files
author
Martin J. Laubach
committed
Reinstate dj1.6 fallback which coincidentially also covers dj4 :-)
1 parent c99476b commit fe147ec

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

feincms/extensions/translations.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,12 @@
3535
logger = logging.getLogger(__name__)
3636

3737
LANGUAGE_COOKIE_NAME: str = django_settings.LANGUAGE_COOKIE_NAME
38-
try:
38+
if hasattr(translation, "LANGUAGE_SESSION_KEY"):
3939
LANGUAGE_SESSION_KEY = translation.LANGUAGE_SESSION_KEY
40-
except AttributeError: # stopgap measure for django >= 4, need to revisit this later
41-
LANGUAGE_SESSION_KEY = '_language'
40+
else:
41+
# stopgap measure for django >= 4, need to revisit this later
42+
LANGUAGE_SESSION_KEY = LANGUAGE_COOKIE_NAME
43+
4244
PRIMARY_LANGUAGE: str = django_settings.LANGUAGES[0][0]
4345

4446
# ------------------------------------------------------------------------

tests/testapp/tests/test_extensions.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ def testPage(self):
7474
# TODO: add request tests
7575
# with translation.override('de'):
7676

77-
@skipIf(VERSION >= (4, 0), "Language no longer saved to session in django 4+")
7877
def test_user_has_language_set_with_session(self):
7978
factory = RequestFactory()
8079
request = factory.get(self.page_en.get_navigation_url())
@@ -89,7 +88,6 @@ def test_user_has_language_set_with_cookie(self):
8988

9089
self.assertEqual(user_has_language_set(request), True)
9190

92-
@skipIf(VERSION >= (4, 0), "Language no longer saved to session in django 4+")
9391
def test_translation_set_language_to_session(self):
9492
factory = RequestFactory()
9593
request = factory.get(self.page_de.get_navigation_url())
@@ -99,14 +97,14 @@ def test_translation_set_language_to_session(self):
9997
self.assertEqual(request.LANGUAGE_CODE, "de")
10098
self.assertEqual(request.session[self.language_session_key], "de")
10199

102-
@skipIf(VERSION >= (4, 0), "Language no longer saved to session in django 4+")
103100
def test_translation_set_language_to_session_primary(self):
104101
factory = RequestFactory()
105102
request = factory.get(self.page_en.get_navigation_url())
106103
setattr(request, "session", dict())
107104
translation_set_language(request, "en")
108105

109106
self.assertEqual(request.LANGUAGE_CODE, "en")
107+
# We avoid setting the translation language to the primary language, so should not be set
110108
self.assertEqual(request.session.get(self.language_session_key, 'unset'), "unset")
111109

112110
def test_translation_set_language_to_cookie(self):

0 commit comments

Comments
 (0)