WL-272
This commit is contained in:
@@ -76,7 +76,8 @@
|
||||
"PREVIEW_LMS_BASE": "localhost:8003",
|
||||
"ALLOW_ALL_ADVANCED_COMPONENTS": true,
|
||||
"ENABLE_CONTENT_LIBRARIES": true,
|
||||
"ENABLE_SPECIAL_EXAMS": true
|
||||
"ENABLE_SPECIAL_EXAMS": true,
|
||||
"SHOW_LANGUAGE_SELECTOR": true
|
||||
},
|
||||
"FEEDBACK_SUBMISSION_EMAIL": "",
|
||||
"GITHUB_REPO_ROOT": "** OVERRIDDEN **",
|
||||
|
||||
@@ -190,6 +190,9 @@ FEATURES = {
|
||||
'ENABLE_SPECIAL_EXAMS': False,
|
||||
|
||||
'ORGANIZATIONS_APP': False,
|
||||
|
||||
# Show Language selector
|
||||
'SHOW_LANGUAGE_SELECTOR': False,
|
||||
}
|
||||
|
||||
ENABLE_JASMINE = False
|
||||
@@ -328,6 +331,9 @@ MIDDLEWARE_CLASSES = (
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'track.middleware.TrackMiddleware',
|
||||
|
||||
# This is used to set or update the user language preferences.
|
||||
'lang_pref.middleware.LanguagePreferenceMiddleware',
|
||||
|
||||
# Allows us to dark-launch particular languages
|
||||
'dark_lang.middleware.DarkLangMiddleware',
|
||||
|
||||
@@ -1111,6 +1117,8 @@ OAUTH_OIDC_ISSUER = 'https://www.example.com/oauth2'
|
||||
# 5 minute expiration time for JWT id tokens issued for external API requests.
|
||||
OAUTH_ID_TOKEN_EXPIRATION = 5 * 60
|
||||
|
||||
USERNAME_PATTERN = r'(?P<username>[\w.@+-]+)'
|
||||
|
||||
# Partner support link for CMS footer
|
||||
PARTNER_SUPPORT_EMAIL = ''
|
||||
|
||||
|
||||
@@ -87,6 +87,7 @@
|
||||
"ova": 'js/vendor/ova/ova',
|
||||
"catch": 'js/vendor/ova/catch/js/catch',
|
||||
"handlebars": 'js/vendor/ova/catch/js/handlebars-1.1.2',
|
||||
"lang_edx": "js/src/lang_edx",
|
||||
// end of Annotation tool files
|
||||
|
||||
// externally hosted files
|
||||
@@ -196,6 +197,9 @@
|
||||
"tinymce": {
|
||||
exports: "tinymce"
|
||||
},
|
||||
"lang_edx": {
|
||||
deps: ["jquery"]
|
||||
},
|
||||
"mathjax": {
|
||||
exports: "MathJax",
|
||||
init: function() {
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
define(['js/base', 'coffee/src/main', 'js/src/logger', 'datepair', 'accessibility',
|
||||
'ieshim', 'tooltip_manager']);
|
||||
'ieshim', 'tooltip_manager', 'lang_edx']);
|
||||
|
||||
@@ -43,8 +43,19 @@
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.user-language-selector {
|
||||
width: 120px;
|
||||
display: inline-block;
|
||||
margin: 0 10px 0 5px;
|
||||
vertical-align: sub;
|
||||
|
||||
.language-selector {
|
||||
width: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-account {
|
||||
width: 100%;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
// basic layout - nav items
|
||||
@@ -208,6 +219,13 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.settings-language-form {
|
||||
margin-top: 4px;
|
||||
.language-selector {
|
||||
width: 130px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ====================
|
||||
@@ -229,11 +247,11 @@
|
||||
.is-signedin {
|
||||
|
||||
.wrapper-l {
|
||||
width: flex-grid(9,12);
|
||||
width: flex-grid(8,12);
|
||||
}
|
||||
|
||||
.wrapper-r {
|
||||
width: flex-grid(3,12);
|
||||
width: flex-grid(4,12);
|
||||
}
|
||||
|
||||
.branding {
|
||||
@@ -253,11 +271,11 @@
|
||||
.wrapper-header {
|
||||
|
||||
.wrapper-l {
|
||||
width: flex-grid(9,12);
|
||||
width: flex-grid(8,12);
|
||||
}
|
||||
|
||||
.wrapper-r {
|
||||
width: flex-grid(3,12);
|
||||
width: flex-grid(4,12);
|
||||
}
|
||||
|
||||
.branding {
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
from contentstore.context_processors import doc_url
|
||||
%>
|
||||
<%page args="online_help_token"/>
|
||||
|
||||
<div class="wrapper-header wrapper" id="view-top">
|
||||
<header class="primary" role="banner">
|
||||
|
||||
@@ -188,6 +187,32 @@
|
||||
</div>
|
||||
|
||||
<div class="wrapper wrapper-r">
|
||||
% if static.show_language_selector():
|
||||
<% languages = static.get_released_languages() %>
|
||||
% if len(languages) > 1:
|
||||
<nav class="user-language-selector">
|
||||
<form action="/i18n/setlang/" method="post" class="settings-language-form" id="language-settings-form">
|
||||
<input type="hidden" id="csrf_token" name="csrfmiddlewaretoken" value="${csrf_token}">
|
||||
% if user.is_authenticated():
|
||||
<input title="preference api" type="hidden" id="preference-api-url" class="url-endpoint" value="${reverse('preferences_api', kwargs={'username': user.username})}" data-user-is-authenticated="true">
|
||||
% else:
|
||||
<input title="session update url" type="hidden" id="update-session-url" class="url-endpoint" value="${reverse('session_language')}" data-user-is-authenticated="false">
|
||||
% endif
|
||||
<label><span class="sr">${_("Choose Language")}</span>
|
||||
<select class="input select language-selector" id="settings-language-value" name="language">
|
||||
% for language in languages:
|
||||
% if language[0] == LANGUAGE_CODE:
|
||||
<option value="${language[0]}" selected="selected">${language[1]}</option>
|
||||
% else:
|
||||
<option value="${language[0]}" >${language[1]}</option>
|
||||
% endif
|
||||
% endfor
|
||||
</select>
|
||||
</label>
|
||||
</form>
|
||||
</nav>
|
||||
% endif
|
||||
% endif
|
||||
% if user.is_authenticated():
|
||||
<nav class="nav-account nav-is-signedin nav-dd ui-right" aria-label="${_('Account')}">
|
||||
<h2 class="sr">${_("Account Navigation")}</h2>
|
||||
@@ -195,7 +220,6 @@
|
||||
<li class="nav-item nav-account-help">
|
||||
<h3 class="title"><span class="label"><a href="${get_online_help_info(online_help_token)['doc_url']}" title="${_("Contextual Online Help")}" target="_blank">${_("Help")}</a></span></h3>
|
||||
</li>
|
||||
|
||||
<li class="nav-item nav-account-user">
|
||||
<h3 class="title"><span class="label"><span class="label-prefix sr">${_("Currently signed in as:")}</span><span class="account-username" title="${ user.username }">${ user.username }</span></span> <i class="icon fa fa-caret-down ui-toggle-dd"></i></h3>
|
||||
|
||||
|
||||
@@ -52,6 +52,14 @@ urlpatterns = patterns(
|
||||
url(r'^heartbeat$', include('heartbeat.urls')),
|
||||
|
||||
url(r'^user_api/', include('openedx.core.djangoapps.user_api.legacy_urls')),
|
||||
|
||||
url(r'^i18n/', include('django.conf.urls.i18n')),
|
||||
|
||||
# User API endpoints
|
||||
url(r'^api/user/', include('openedx.core.djangoapps.user_api.urls')),
|
||||
|
||||
# Update session view
|
||||
url(r'^lang_pref/session_language', 'lang_pref.views.update_session_language', name='session_language'),
|
||||
)
|
||||
|
||||
# User creation and updating views
|
||||
|
||||
Reference in New Issue
Block a user