Commit a07d243f by Diana Huang Committed by Julia Hansbrough

Clean up the display and dialog to use user preferences

instead of the current language.
parent 59aa06f0
......@@ -63,6 +63,7 @@ import external_auth.views
from bulk_email.models import Optout, CourseAuthorization
import shoppingcart
from user_api.models import UserPreference, LANGUAGE_KEY
import track.views
......@@ -472,13 +473,13 @@ def dashboard(request):
language_options = DarkLangConfig.current().released_languages_list
if not language_options:
language_options = [settings.LANGUAGE_CODE]
language_options.append(settings.LANGUAGE_CODE)
try:
current_language = translation.get_language_info(translation.get_language())
except KeyError:
current_language = translation.get_language_info(settings.LANGUAGE_CODE)
cur_lang_code = UserPreference.get_preference(request.user, LANGUAGE_KEY)
if cur_lang_code:
current_language = settings.LANGUAGE_DICT[cur_lang_code]
else:
current_language = settings.LANGUAGE_DICT[settings.LANGUAGE_CODE]
context = {
'course_enrollment_pairs': course_enrollment_pairs,
......@@ -499,6 +500,7 @@ def dashboard(request):
'billing_email': settings.PAYMENT_SUPPORT_EMAIL,
'language_options': language_options,
'current_language': current_language,
'current_language_code': cur_lang_code,
}
return render_to_response('dashboard.html', context)
......
......@@ -16,9 +16,9 @@ class UserPreferenceMiddleware(object):
def process_request(self, request):
"""
If a user's UserPreference contains a language preference and there is
no language set on the session, use the user's preference.
no language set on the session (i.e. from dark language overrides), use the user's preference.
"""
if 'django_language' not in request.session and request.user.is_authenticated():
if request.user.is_authenticated() and 'django_language' not in request.session:
user_pref = UserPreference.get_preference(request.user, LANGUAGE_KEY)
if user_pref:
request.session['django_language'] = user_pref
......@@ -555,6 +555,8 @@ LANGUAGES = (
('zh-tw', u'台灣正體'), # Chinese (Taiwan)
)
LANGUAGE_DICT = dict(LANGUAGES)
USE_I18N = True
USE_L10N = True
......
......@@ -7,5 +7,5 @@
${_("Preferred Language")}
(<a href="#change_language" rel="leanModal" class="edit-language">${_("edit")}</a>)
</span>
<span class="data">${current_language['name_local']}</span>
<span class="data">${current_language}</span>
</li>
......@@ -34,7 +34,7 @@
% for abbrv in language_options:
% for language in settings.LANGUAGES:
% if abbrv == language[0]:
% if abbrv == current_language['code']:
% if abbrv == current_language_code:
<option value="${language[0]}" selected="selected">${language[1]}</option>
% else:
<option value="${language[0]}">${language[1]}</option>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment