Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions openedx/core/djangoapps/dark_lang/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
from openedx.core.djangoapps.dark_lang import DARK_LANGUAGE_KEY
from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
from openedx.core.djangoapps.lang_pref.helpers import set_language_cookie
from openedx.core.djangoapps.site_configuration.helpers import get_value
from openedx.core.djangoapps.user_api.preferences.api import get_user_preference

# If django 1.7 or higher is used, the right-side can be updated with new-style codes.
Expand Down Expand Up @@ -98,20 +97,10 @@ def process_response(self, request, response):
Apply user's dark lang preference as a cookie for future requests.
"""
if DarkLangConfig.current().enabled:
self._set_site_or_microsite_language(request, response)
self._activate_preview_language(request, response)

return response

def _set_site_or_microsite_language(self, request, response):
"""
Apply language specified in site configuration.
"""
language = get_value('LANGUAGE_CODE', None)
if language:
request.session[LANGUAGE_SESSION_KEY] = language
set_language_cookie(request, response, language)

def _fuzzy_match(self, lang_code):
"""Returns a fuzzy match for lang_code"""
match = None
Expand Down
12 changes: 12 additions & 0 deletions openedx/core/djangoapps/lang_pref/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
from openedx.core.djangoapps.lang_pref import LANGUAGE_HEADER, LANGUAGE_KEY
from openedx.core.djangoapps.lang_pref import helpers as lang_pref_helpers
from openedx.core.djangoapps.site_configuration.helpers import get_value
from openedx.core.djangoapps.user_api.errors import UserAPIInternalError, UserAPIRequestError
from openedx.core.djangoapps.user_api.preferences.api import get_user_preference, set_user_preference
from openedx.core.lib.mobile_utils import is_request_from_mobile_app
Expand Down Expand Up @@ -54,6 +55,15 @@ def process_request(self, request):
if LANGUAGE_SESSION_KEY in request.session and request.session[LANGUAGE_SESSION_KEY] != cookie_lang:
del request.session[LANGUAGE_SESSION_KEY]

@staticmethod
def _set_site_language(request, response):
"""
Apply language specified in site configuration.
"""
if language := get_value('LANGUAGE_CODE'):
request.session[LANGUAGE_SESSION_KEY] = language
lang_pref_helpers.set_language_cookie(request, response, language)

def process_response(self, request, response): # lint-amnesty, pylint: disable=missing-function-docstring
# If the user is logged in, check for their language preference. Also check for real user
# if current user is a masquerading user,
Expand Down Expand Up @@ -86,4 +96,6 @@ def process_response(self, request, response): # lint-amnesty, pylint: disable=
else:
lang_pref_helpers.unset_language_cookie(response)

self._set_site_language(request, response)

return response