From d7745092f96df803354f0d75b78ad198465c8f59 Mon Sep 17 00:00:00 2001 From: Leonel Matos Date: Mon, 13 Jan 2020 18:11:17 -0400 Subject: [PATCH] add support to language list gRPC service (#213) --- src/api/ADempiere/data.js | 4 ++ src/store/modules/ADempiere/data.js | 5 --- src/store/modules/ADempiere/utils.js | 42 ++++++++++++++++++++ src/views/profile/components/RolesNavbar.vue | 24 +++++------ src/views/profile/components/role.vue | 22 +++++----- 5 files changed, 66 insertions(+), 31 deletions(-) diff --git a/src/api/ADempiere/data.js b/src/api/ADempiere/data.js index 52d51859..ab395ed9 100644 --- a/src/api/ADempiere/data.js +++ b/src/api/ADempiere/data.js @@ -347,6 +347,10 @@ export function requestPrintFormats({ tableName, reportViewUuid, processUuid }) return Instance.call(this).requestPrintFormats({ tableName: tableName, reportViewUuid: reportViewUuid, processUuid: processUuid }) } +export function requestLanguages() { + return Instance.call(this).requestLanguages() +} + export function requestDrillTables(tableName) { return Instance.call(this).requestDrillTables(tableName) } diff --git a/src/store/modules/ADempiere/data.js b/src/store/modules/ADempiere/data.js index e614978f..f535576b 100644 --- a/src/store/modules/ADempiere/data.js +++ b/src/store/modules/ADempiere/data.js @@ -1107,11 +1107,6 @@ const data = { getPendingDocuments: (state) => { return state.pendingDocuments }, - getLanguageList: (state) => (roleUuid) => { - return state.recordSelection.find( - record => record.containerUuid === roleUuid - ) || [] - }, getContextInfoField: (state) => (contextInfoUuid, sqlStatement) => { return state.contextInfoField.find(info => info.contextInfoUuid === contextInfoUuid && diff --git a/src/store/modules/ADempiere/utils.js b/src/store/modules/ADempiere/utils.js index 5e470d31..ab546f36 100644 --- a/src/store/modules/ADempiere/utils.js +++ b/src/store/modules/ADempiere/utils.js @@ -1,4 +1,5 @@ +import { requestLanguages } from '@/api/ADempiere' const utils = { state: { width: 0, @@ -10,6 +11,8 @@ const utils = { oldAction: undefined, reportType: '', isShowedTable: false, + recordUuidTable: 0, + languageList: [], isShowedTabChildren: false, recordTable: 0, selectionProcess: [] @@ -50,6 +53,9 @@ const utils = { }, setReportTypeToShareLink(state, payload) { state.reportType = payload + }, + setLanguageList(state, payload) { + state.languageList = payload } }, actions: { @@ -97,6 +103,31 @@ const utils = { }, setReportTypeToShareLink({ commit }, value) { commit('setReportTypeToShareLink', value) + }, + getLanguagesFromServer({ commit }) { + return new Promise((resolve, reject) => { + requestLanguages() + .then(response => { + const languageList = response.getLanguagesList().map(item => { + return { + language: item.getLanguage(), + languageName: item.getLanguagename(), + languageIso: item.getLanguageiso(), + countryCode: item.getCountrycode(), + isBaseLanguage: item.getIsbaselanguage(), + isSystemLanguage: item.getIssystemlanguage(), + isDecimalPoint: item.getIsdecimalpoint(), + datePattern: item.getDatepattern(), + timePattern: item.getTimepattern() + } + }) + commit('setLanguageList', languageList) + resolve(languageList) + }) + .catch(error => { + reject(error) + }) + }) } }, getters: { @@ -147,6 +178,17 @@ const utils = { }, getReportType: (state) => { return state.reportType + }, + getLanguageList: (state) => { + return state.languageList + }, + getLanguageByParameter: (state) => (parameter) => { + var list = state.languageList + list.forEach(language => { + if (language.hasOwnProperty(parameter)) { + return language + } + }) } } } diff --git a/src/views/profile/components/RolesNavbar.vue b/src/views/profile/components/RolesNavbar.vue index df207b5d..cffdec7d 100644 --- a/src/views/profile/components/RolesNavbar.vue +++ b/src/views/profile/components/RolesNavbar.vue @@ -29,7 +29,7 @@ export default { value: '', options: [], languageList: [], - language: '' + language: getLanguage() } }, computed: { @@ -43,7 +43,12 @@ export default { return getLanguage() }, getterLanguageList() { - return this.$store.getters.getLanguageList(this.getRol.uuid) + return this.$store.getters.getLanguageList.map(language => { + return { + value: language.languageIso, + label: language.languageName + } + }) }, isMobile() { return this.$store.state.app.device === 'mobile' @@ -100,21 +105,12 @@ export default { } }, getLanguageData() { - var tableLanguage = 'AD_Language' - this.$store.dispatch('getObjectListFromCriteria', { - containerUuid: this.getRol.uuid, - tableName: tableLanguage, - conditions: [{ - columnName: 'LanguageIso', - value: this.languageCookie - }], - isShowNotification: false - }) + this.$store.dispatch('getLanguagesFromServer') .then(response => { this.languageList = response.map(language => { return { - value: language.AD_Language, - label: language.Name + value: language.languageIso, + label: language.languageName } }) }) diff --git a/src/views/profile/components/role.vue b/src/views/profile/components/role.vue index 7e199626..567978e9 100644 --- a/src/views/profile/components/role.vue +++ b/src/views/profile/components/role.vue @@ -60,7 +60,7 @@ export default { valueRol: '', options: [], languageList: [], - language: '' + language: getLanguage() } }, computed: { @@ -74,7 +74,12 @@ export default { return getLanguage() }, getterLanguageList() { - return this.$store.getters.getLanguageList(this.getRol.uuid) + return this.$store.getters.getLanguageList.map(language => { + return { + value: language.languageIso, + label: language.languageName + } + }) }, isMobile() { return this.$store.state.app.device === 'mobile' @@ -130,19 +135,12 @@ export default { } }, getLanguageData() { - var tableLanguage = 'AD_Language' - this.$store.dispatch('getObjectListFromCriteria', { - containerUuid: this.getRol.uuid, - tableName: tableLanguage, - query: `SELECT * FROM ${tableLanguage}`, - whereClause: `LanguageIso = '${this.languageCookie}' AND IsActive = 'Y'`, - isShowNotification: false - }) + this.$store.dispatch('getLanguagesFromServer') .then(response => { this.languageList = response.map(language => { return { - value: language.AD_Language, - label: language.Name + value: language.languageIso, + label: language.languageName } }) })