Clean up the display and dialog to use user preferences

instead of the current language.
This commit is contained in:
Diana Huang
2014-02-13 14:50:34 -05:00
committed by Julia Hansbrough
parent 59aa06f096
commit a07d243fdb
5 changed files with 14 additions and 10 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -555,6 +555,8 @@ LANGUAGES = (
('zh-tw', u'台灣正體'), # Chinese (Taiwan)
)
LANGUAGE_DICT = dict(LANGUAGES)
USE_I18N = True
USE_L10N = True

View File

@@ -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>

View File

@@ -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>