diff --git a/src/App.vue b/src/App.vue index 1e865e99..2771cb35 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,11 +2,14 @@ import { useAppStore } from 'stores/app'; import { useUserStore } from 'stores/user'; import { onBeforeMount } from 'vue'; +import { useRouter } from 'vue-router'; + const appStore = useAppStore(); const userStore = useUserStore(); +const router = useRouter(); onBeforeMount(async () => { - await userStore.init(); + await userStore.init(router); await appStore.init(); }); diff --git a/src/composables/usePrintService.js b/src/composables/usePrintService.js index e96e26e2..05077083 100644 --- a/src/composables/usePrintService.js +++ b/src/composables/usePrintService.js @@ -5,8 +5,7 @@ import { useQuasar } from 'quasar'; export function usePrintService() { const quasar = useQuasar(); - const userStore = useUserStore(); - const token = userStore.token; + const { getTokenMultimedia } = useUserStore(); function sendEmail(path, params) { return axios.post(path, params).then(() => @@ -18,17 +17,17 @@ export function usePrintService() { ); } - function openReport(path, params) { + function openReport(path, params, isNewTab = '_self') { + if (typeof params === 'string') params = JSON.parse(params); params = Object.assign( { - access_token: token + access_token: getTokenMultimedia() }, params ); const query = new URLSearchParams(params).toString(); - - window.open(`api/${path}?${query}`); + window.open(`api/${path}?${query}`, isNewTab); } return { diff --git a/src/i18n/ca-ES/index.js b/src/i18n/ca-ES/index.js index 41f2a1a8..0a3d7b1a 100644 --- a/src/i18n/ca-ES/index.js +++ b/src/i18n/ca-ES/index.js @@ -73,7 +73,7 @@ export default { Reports: 'Informes', Configuration: 'Configuració', Shelves: 'Prestatgeries', - Account: 'Compte', + Account: 'Configuració', Addresses: 'Adreces', OrderSummary: 'Resum de la comanda', Checkout: `Configurar l'encarrec`, @@ -162,5 +162,10 @@ export default { ErrCantWrite: "No s'ha pogut escriure el fitxer al disc", ErrExtension: "La pujada del fitxer s'ha aturat per una extensió", ErrDefault: 'Error de pujada desconegut', - 'Sync complete': 'Sincronització completa' + 'Sync complete': 'Sincronització completa', + // Errors + errors: { + statusUnauthorized: 'Accés denegat', + tokenConfig: 'Error al obtenir la configuració del token' + } }; diff --git a/src/i18n/en-US/index.js b/src/i18n/en-US/index.js index 47a25a50..b18d90cc 100644 --- a/src/i18n/en-US/index.js +++ b/src/i18n/en-US/index.js @@ -85,7 +85,7 @@ export default { Reports: 'Reports', Configuration: 'Configuration', Shelves: 'Shelves', - Account: 'Account', + Account: 'Configuration', Addresses: 'Addresses', OrderSummary: 'Order summary', Checkout: 'Configure order', @@ -195,5 +195,10 @@ export default { ErrCantWrite: 'Failed to write file to disk', ErrExtension: 'File upload stopped by extension', ErrDefault: 'Unknown upload error', - 'Sync complete': 'Synchronization complete' + 'Sync complete': 'Synchronization complete', + // Errors + errors: { + statusUnauthorized: 'Access denied', + tokenConfig: 'Error fetching token config' + } }; diff --git a/src/i18n/es-ES/index.js b/src/i18n/es-ES/index.js index d1fbdd7a..dda8dab9 100644 --- a/src/i18n/es-ES/index.js +++ b/src/i18n/es-ES/index.js @@ -67,11 +67,11 @@ export default { 'Pending orders': 'Pedidos pendientes', 'Last orders': 'Pedidos confirmados', Invoices: 'Facturas', - Basket: 'Cesta', + Basket: 'Cesta de la compra', Catalog: 'Catálogo', Administration: 'Administración', 'Control panel': 'Panel de control', - Users: 'Usuarios', + Users: 'Gestión de usuarios', Connections: 'Conexiones', Visits: 'Visitas', News: 'Gestión de noticias', @@ -82,7 +82,7 @@ export default { Reports: 'Informes', Configuration: 'Configuración', Shelves: 'Estanterías', - Account: 'Cuenta', + Account: 'Configuración', Addresses: 'Direcciones', OrderSummary: 'Resumen del pedido', Checkout: 'Configurar pedido', @@ -108,7 +108,7 @@ export default { Connections: 'Conexiones', Visits: 'Visitas', News: 'Noticias', - Photos: 'Imágenes', + Photos: 'Fotos', Items: 'Artículos', Account: 'Cuenta', Addresses: 'Direcciones' @@ -194,5 +194,10 @@ export default { ErrCantWrite: 'Failed to write file to disk', ErrExtension: 'File upload stopped by extension', ErrDefault: 'Unknown upload error', - 'Sync complete': 'Sincronización completada' + 'Sync complete': 'Sincronización completada', + // Errors + errors: { + statusUnauthorized: 'Acceso denegado', + tokenConfig: 'Error al obtener configuración de token' + } }; diff --git a/src/i18n/fr-FR/index.js b/src/i18n/fr-FR/index.js index 57590f43..56a5742e 100644 --- a/src/i18n/fr-FR/index.js +++ b/src/i18n/fr-FR/index.js @@ -73,7 +73,7 @@ export default { Reports: 'Rapports', Configuration: 'Configuration', Shelves: 'Étagères', - Account: 'Compte', + Account: 'Configuration', Addresses: 'Adresses', OrderSummary: 'Résumé de la commande', Checkout: 'Configurer la commande', @@ -166,5 +166,11 @@ export default { ErrCantWrite: "Échec de l'écriture du fichier sur le disque", ErrExtension: 'Téléchargement du fichier arrêté par extension', ErrDefault: 'Erreur de téléchargement inconnue', - 'Sync complete': 'Synchronisation terminée' + 'Sync complete': 'Synchronisation terminée', + // Errors + errors: { + statusUnauthorized: 'Accès refusé', + tokenConfig: + 'Erreur lors de la récupération de la configuration du jeton' + } }; diff --git a/src/i18n/pt-PT/index.js b/src/i18n/pt-PT/index.js index 18b5cdc2..f49db9f4 100644 --- a/src/i18n/pt-PT/index.js +++ b/src/i18n/pt-PT/index.js @@ -72,7 +72,7 @@ export default { Reports: 'Informes', Configuration: 'Configuração', Shelves: 'Estantes', - Account: 'Conta', + Account: 'Configuração', Addresses: 'Moradas', OrderSummary: 'Resumo da encomenda', Checkout: 'Configurar encomenda', @@ -159,5 +159,10 @@ export default { ErrCantWrite: 'Erro ao gravar arquivo no disco', ErrExtension: 'Erro de extensão do arquivo', ErrDefault: 'Erro desconhecido ao subir arquivo', - 'Sync complete': 'Sincronização completa' + 'Sync complete': 'Sincronização completa', + // Errors + errors: { + statusUnauthorized: 'Acesso negado', + tokenConfig: 'Erro ao obter configuração do token' + } }; diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 94daa6f8..ef2f762e 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -1,5 +1,5 @@ @@ -113,9 +122,7 @@ onMounted(() => fetchLanguagesSql()); option-label="name" option-value="code" :options="langOptions" - @update:model-value=" - userStore.updateUserLang(data.lang) - " + @update:model-value="updateConfigLang(data.lang)" />