Clean up the display and dialog to use user preferences
instead of the current language.
This commit is contained in:
committed by
Julia Hansbrough
parent
59aa06f096
commit
a07d243fdb
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user