From 735414fab0a6ebeecc28a4fd47d43bdb762e7de1 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 17 May 2021 13:43:13 +0200 Subject: [PATCH 01/10] locale is saved in db when session_id is available. Lists of languages is defined in locales/index.js --- frontend/src/apis/loginAPI.js | 12 ++++++ frontend/src/components/LanguageSwitch.vue | 45 ++++++++++++++++++++-- frontend/src/locales/index.js | 16 ++++++++ frontend/src/store/store.js | 5 ++- frontend/src/views/Pages/Login.vue | 2 +- 5 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 frontend/src/locales/index.js diff --git a/frontend/src/apis/loginAPI.js b/frontend/src/apis/loginAPI.js index f5b0c57f5..55e32e6dd 100644 --- a/frontend/src/apis/loginAPI.js +++ b/frontend/src/apis/loginAPI.js @@ -1,5 +1,7 @@ import axios from 'axios' import CONFIG from '../config' +// eslint-disable-next-line no-unused-vars +import regeneratorRuntime from 'regenerator-runtime' // control email-text sended with email verification code const EMAIL_TYPE = { @@ -86,6 +88,16 @@ const loginAPI = { } return apiPost(CONFIG.LOGIN_API_URL + 'updateUserInfos', payload) }, + updateLanguage: async (sessionId, email, language) => { + const payload = { + session_id: sessionId, + email, + update: { + 'User.language': language, + }, + } + return apiPost(CONFIG.LOGIN_API_URL + 'updateUserInfos', payload) + }, } export default loginAPI diff --git a/frontend/src/components/LanguageSwitch.vue b/frontend/src/components/LanguageSwitch.vue index 0fad036a6..650ab57ed 100644 --- a/frontend/src/components/LanguageSwitch.vue +++ b/frontend/src/components/LanguageSwitch.vue @@ -1,22 +1,59 @@ diff --git a/frontend/src/locales/index.js b/frontend/src/locales/index.js new file mode 100644 index 000000000..4cb375b40 --- /dev/null +++ b/frontend/src/locales/index.js @@ -0,0 +1,16 @@ +const locales = [ + { + name: 'English', + code: 'en', + iso: 'en-US', + enabled: true, + }, + { + name: 'Deutsch', + code: 'de', + iso: 'de-DE', + enabled: true, + }, +] + +export default locales diff --git a/frontend/src/store/store.js b/frontend/src/store/store.js index aed286bc6..1d89894fb 100644 --- a/frontend/src/store/store.js +++ b/frontend/src/store/store.js @@ -18,7 +18,8 @@ export const mutations = { export const actions = { login: ({ dispatch, commit }, data) => { commit('sessionId', data.sessionId) - commit('email', data.email) + commit('email', data.user.email) + commit('language', data.user.language) }, logout: ({ commit, state }) => { commit('sessionId', null) @@ -36,7 +37,7 @@ export const store = new Vuex.Store({ state: { sessionId: null, email: '', - language: 'en', + language: null, modals: false, }, getters: {}, diff --git a/frontend/src/views/Pages/Login.vue b/frontend/src/views/Pages/Login.vue index b04bce7b0..e79acd353 100755 --- a/frontend/src/views/Pages/Login.vue +++ b/frontend/src/views/Pages/Login.vue @@ -111,7 +111,7 @@ export default { if (result.success) { this.$store.dispatch('login', { sessionId: result.result.data.session_id, - email: this.model.email, + user: result.result.data.user, }) this.$router.push('/overview') loader.hide() From c4440f50e37b06288165a83116b421db86466f02 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 17 May 2021 15:26:28 +0200 Subject: [PATCH 02/10] try to get the tests running --- frontend/src/components/LanguageSwitch.vue | 28 +++++++++++++------ .../components/SidebarPlugin/SideBar.spec.js | 3 +- frontend/src/store/store.test.js | 25 ++++++++++++++--- .../src/views/Layout/ContentFooter.spec.js | 3 ++ frontend/src/views/Pages/Login.spec.js | 11 +------- frontend/src/views/Pages/Register.spec.js | 11 +------- 6 files changed, 47 insertions(+), 34 deletions(-) diff --git a/frontend/src/components/LanguageSwitch.vue b/frontend/src/components/LanguageSwitch.vue index 650ab57ed..0905bb3af 100644 --- a/frontend/src/components/LanguageSwitch.vue +++ b/frontend/src/components/LanguageSwitch.vue @@ -1,6 +1,6 @@