From 17b3dfcf3b331b76fa5a416002faaf9866ed681a Mon Sep 17 00:00:00 2001 From: Prathamesh Desai Date: Mon, 3 Oct 2022 19:31:37 +0530 Subject: [PATCH 1/7] Work in progress --- .../frontend/shared/languageSwitcher/mixin.js | 1 + .../frontend/shared/views/AppBar.vue | 27 +++- contentcuration/contentcuration/urls.py | 2 +- contentcuration/contentcuration/views/base.py | 149 +++++++++++++----- 4 files changed, 133 insertions(+), 46 deletions(-) diff --git a/contentcuration/contentcuration/frontend/shared/languageSwitcher/mixin.js b/contentcuration/contentcuration/frontend/shared/languageSwitcher/mixin.js index 8b75b03191..682c676eae 100644 --- a/contentcuration/contentcuration/frontend/shared/languageSwitcher/mixin.js +++ b/contentcuration/contentcuration/frontend/shared/languageSwitcher/mixin.js @@ -1,4 +1,5 @@ import { availableLanguages, currentLanguage, sortLanguages } from '../i18n'; + import client from 'shared/client'; export default { diff --git a/contentcuration/contentcuration/frontend/shared/views/AppBar.vue b/contentcuration/contentcuration/frontend/shared/views/AppBar.vue index e018472528..f437e06e51 100644 --- a/contentcuration/contentcuration/frontend/shared/views/AppBar.vue +++ b/contentcuration/contentcuration/frontend/shared/views/AppBar.vue @@ -75,9 +75,30 @@ - - {{ $tr('logIn') }} - + @@ -84,11 +100,13 @@ import { mapActions, mapState } from 'vuex'; import KolibriLogo from './KolibriLogo'; + import LanguageSwitcherModal from 'shared/languageSwitcher/LanguageSwitcherModal'; export default { name: 'MainNavigationDrawer', components: { KolibriLogo, + LanguageSwitcherModal, }, props: { value: { @@ -96,6 +114,11 @@ default: false, }, }, + data() { + return { + showLanguageModal: false, + }; + }, computed: { ...mapState({ user: state => state.session.currentUser, @@ -131,6 +154,7 @@ channelsLink: 'Channels', administrationLink: 'Administration', settingsLink: 'Settings', + changeLanguage: 'Change language', helpLink: 'Help and support', logoutLink: 'Sign out', copyright: '© {year} Learning Equality', diff --git a/contentcuration/contentcuration/templates/pwa/service_worker.js b/contentcuration/contentcuration/templates/pwa/service_worker.js index 583a43bdf2..f69abd79bf 100644 --- a/contentcuration/contentcuration/templates/pwa/service_worker.js +++ b/contentcuration/contentcuration/templates/pwa/service_worker.js @@ -1,6 +1,5 @@ {% load js_reverse %} -{% js_reverse_inline %} {% autoescape off %} {{ webpack_service_worker }} diff --git a/contentcuration/contentcuration/views/base.py b/contentcuration/contentcuration/views/base.py index bbdce92823..d415778aab 100644 --- a/contentcuration/contentcuration/views/base.py +++ b/contentcuration/contentcuration/views/base.py @@ -353,7 +353,6 @@ def set_language(request): payload = json.loads(request.body) lang_code = payload.get(LANGUAGE_QUERY_PARAMETER) next_url = payload.get("next") - # next_url = urlsplit(payload.get("next")) if payload.get("next") else None if ( (next_url or request.accepts('text/html')) and From 8d9d5036d113479e39a5388a7f56b40bff9a4088 Mon Sep 17 00:00:00 2001 From: ozer550 Date: Wed, 2 Nov 2022 23:52:16 +0530 Subject: [PATCH 7/7] update docstring --- contentcuration/contentcuration/views/base.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contentcuration/contentcuration/views/base.py b/contentcuration/contentcuration/views/base.py index d415778aab..9a7339481c 100644 --- a/contentcuration/contentcuration/views/base.py +++ b/contentcuration/contentcuration/views/base.py @@ -346,6 +346,12 @@ def activate_channel_endpoint(request): # flake8: noqa: C901 def set_language(request): """ + We are using set_language from official Django set_language redirect view + https://docs.djangoproject.com/en/3.2/_modules/django/views/i18n/#set_language + and slighty modifying it according to our use case as we donot use AJAX, hence we donot + redirect rather just respond the required URL! + + Since this view changes how the user will see the rest of the site, it must only be accessed as a POST request. If called as a GET request, it will error.