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 ...@@ -63,6 +63,7 @@ import external_auth.views
from bulk_email.models import Optout, CourseAuthorization from bulk_email.models import Optout, CourseAuthorization
import shoppingcart import shoppingcart
from user_api.models import UserPreference, LANGUAGE_KEY
import track.views import track.views
...@@ -472,13 +473,13 @@ def dashboard(request): ...@@ -472,13 +473,13 @@ def dashboard(request):
language_options = DarkLangConfig.current().released_languages_list language_options = DarkLangConfig.current().released_languages_list
if not language_options: language_options.append(settings.LANGUAGE_CODE)
language_options = [settings.LANGUAGE_CODE]
try: cur_lang_code = UserPreference.get_preference(request.user, LANGUAGE_KEY)
current_language = translation.get_language_info(translation.get_language()) if cur_lang_code:
except KeyError: current_language = settings.LANGUAGE_DICT[cur_lang_code]
current_language = translation.get_language_info(settings.LANGUAGE_CODE) else:
current_language = settings.LANGUAGE_DICT[settings.LANGUAGE_CODE]
context = { context = {
'course_enrollment_pairs': course_enrollment_pairs, 'course_enrollment_pairs': course_enrollment_pairs,
...@@ -499,6 +500,7 @@ def dashboard(request): ...@@ -499,6 +500,7 @@ def dashboard(request):
'billing_email': settings.PAYMENT_SUPPORT_EMAIL, 'billing_email': settings.PAYMENT_SUPPORT_EMAIL,
'language_options': language_options, 'language_options': language_options,
'current_language': current_language, 'current_language': current_language,
'current_language_code': cur_lang_code,
} }
return render_to_response('dashboard.html', context) return render_to_response('dashboard.html', context)
......
...@@ -16,9 +16,9 @@ class UserPreferenceMiddleware(object): ...@@ -16,9 +16,9 @@ class UserPreferenceMiddleware(object):
def process_request(self, request): def process_request(self, request):
""" """
If a user's UserPreference contains a language preference and there is 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) user_pref = UserPreference.get_preference(request.user, LANGUAGE_KEY)
if user_pref: if user_pref:
request.session['django_language'] = user_pref request.session['django_language'] = user_pref
...@@ -555,6 +555,8 @@ LANGUAGES = ( ...@@ -555,6 +555,8 @@ LANGUAGES = (
('zh-tw', u'台灣正體'), # Chinese (Taiwan) ('zh-tw', u'台灣正體'), # Chinese (Taiwan)
) )
LANGUAGE_DICT = dict(LANGUAGES)
USE_I18N = True USE_I18N = True
USE_L10N = True USE_L10N = True
......
...@@ -7,5 +7,5 @@ ...@@ -7,5 +7,5 @@
${_("Preferred Language")} ${_("Preferred Language")}
(<a href="#change_language" rel="leanModal" class="edit-language">${_("edit")}</a>) (<a href="#change_language" rel="leanModal" class="edit-language">${_("edit")}</a>)
</span> </span>
<span class="data">${current_language['name_local']}</span> <span class="data">${current_language}</span>
</li> </li>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
% for abbrv in language_options: % for abbrv in language_options:
% for language in settings.LANGUAGES: % for language in settings.LANGUAGES:
% if abbrv == language[0]: % if abbrv == language[0]:
% if abbrv == current_language['code']: % if abbrv == current_language_code:
<option value="${language[0]}" selected="selected">${language[1]}</option> <option value="${language[0]}" selected="selected">${language[1]}</option>
% else: % else:
<option value="${language[0]}">${language[1]}</option> <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