Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 41b25fe

Browse files
committed
Ensure system language is released in dark lang middleware
LMS-2644
1 parent 5cef9f7 commit 41b25fe

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

common/djangoapps/dark_lang/middleware.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
This middleware must be placed before the LocaleMiddleware, but after
1111
the SessionMiddleware.
1212
"""
13+
from django.conf import settings
1314

1415
from django.utils.translation.trans_real import parse_accept_lang_header
1516

@@ -33,6 +34,7 @@ def dark_parse_accept_lang_header(accept):
3334
for lang, priority in browser_langs:
3435
lang = CHINESE_LANGUAGE_CODE_MAP.get(lang.lower(), lang)
3536
django_langs.append((lang, priority))
37+
3638
return django_langs
3739

3840
# If django 1.7 or higher is used, the right-side can be updated with new-style codes.
@@ -65,7 +67,10 @@ def released_langs(self):
6567
"""
6668
Current list of released languages
6769
"""
68-
return DarkLangConfig.current().released_languages_list
70+
language_options = DarkLangConfig.current().released_languages_list
71+
if settings.LANGUAGE_CODE not in language_options:
72+
language_options.append(settings.LANGUAGE_CODE)
73+
return language_options
6974

7075
def process_request(self, request):
7176
"""

common/djangoapps/dark_lang/tests.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ def test_unreleased_accept(self):
9393
self.process_request(accept='rel;q=1.0, unrel;q=0.5')
9494
)
9595

96+
def test_accept_with_syslang(self):
97+
self.assertAcceptEquals(
98+
'en;q=1.0, rel;q=0.8',
99+
self.process_request(accept='en;q=1.0, rel;q=0.8, unrel;q=0.5')
100+
)
101+
96102
def test_accept_multiple_released_langs(self):
97103
DarkLangConfig(
98104
released_languages=('rel, unrel'),

0 commit comments

Comments
 (0)