From a1bc03017c0fc5169d6946331419691c2ada2dfb Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Thu, 30 Nov 2023 10:05:32 +0100 Subject: [PATCH] ecomm --- src/db/static_data.ts | 10 ++ src/router/routesAdmin.ts | 168 ---------------------- src/router/routesECommerce.ts | 255 ++++++++++++++++++++++++++++++++++ src/store/globalStore.ts | 4 +- 4 files changed, 268 insertions(+), 169 deletions(-) create mode 100644 src/router/routesECommerce.ts diff --git a/src/db/static_data.ts b/src/db/static_data.ts index 9fab8506..bbd50e1b 100755 --- a/src/db/static_data.ts +++ b/src/db/static_data.ts @@ -261,6 +261,16 @@ function getDynamicPages(site: ISites): IListRoutes[] { inmenu: false, infooter: false }, + { + active: true, + order: 1000, + path: '/404error', + materialIcon: 'fas fa-calendar-plus', + name: 'otherpages.error404', + component: () => import('@/root/My404page/My404page.vue'), + inmenu: false, + infooter: false + }, ] return baseroutes diff --git a/src/router/routesAdmin.ts b/src/router/routesAdmin.ts index d3f6f5d2..8e6aac86 100644 --- a/src/router/routesAdmin.ts +++ b/src/router/routesAdmin.ts @@ -57,147 +57,6 @@ function getRoutesAd(site: ISites) { } ] - const routes_admin_ecommerce: IListRoutes[] = [ - { - active: true, - order: 30, - path: '/admin/ecommerce/products', - materialIcon: 'fas fa-file-alt', - name: 'pages.products', - component: () => import('@/rootgen/admin/products/products.vue'), - inmenu: true, - submenu: true, - level_parent: 0, - level_child: 0.5, - onlyManager: true, - onlyEditor: true - }, - { - active: true, - order: 30, - path: '/admin/ecommerce/producers', - materialIcon: 'fas fa-file-alt', - name: 'pages.producer', - component: () => import('@/rootgen/admin/producer/producer.vue'), - inmenu: true, - submenu: true, - level_parent: 0, - level_child: 0.5, - onlyManager: true, - onlyEditor: true - }, - { - active: true, - order: 30, - path: '/admin/ecommerce/storehouses', - materialIcon: 'fas fa-file-alt', - name: 'pages.storehouses', - component: () => import('@/rootgen/admin/storehouses/storehouses.vue'), - inmenu: true, - submenu: true, - level_parent: 0, - level_child: 0.5, - onlyManager: true, - onlyEditor: true - }, - { - active: true, - order: 31, - path: '/admin/ecommerce/departments', - materialIcon: 'fas fa-file-alt', - name: 'pages.departments', - component: () => import('@/rootgen/admin/departments/departments.vue'), - inmenu: true, - submenu: true, - level_parent: 0, - level_child: 0.5, - onlyManager: true, - onlyEditor: true - }, - { - active: true, - order: 31, - path: '/admin/ecommerce/orders', - materialIcon: 'fas fa-file-alt', - name: 'pages.orders', - component: () => import('@/rootgen/admin/orders/orders.vue'), - inmenu: true, - submenu: true, - level_parent: 0, - level_child: 0.5, - onlyManager: true, - onlyEditor: true - }, - { - active: true, - order: 32, - path: '/admin/ecommerce/categories', - materialIcon: 'fas fa-file-alt', - name: 'pages.categories', - component: () => import('@/rootgen/admin/categories/categories.vue'), - inmenu: true, - submenu: true, - level_parent: 0, - level_child: 0.5, - onlyManager: true, - onlyEditor: true - }, - - ] - - const routes_admin_ecommerce_menu: IListRoutes[] = [ - { - active: true, - order: 30, - path: '/admin/ecommerce/products', - name: 'pages.products', - component: () => import('@/rootgen/admin/products/products.vue'), - inmenu: false, - infooter: false, - }, - { - active: true, - order: 31, - path: '/admin/ecommerce/producers', - name: 'pages.producer', - component: () => import('@/rootgen/admin/producer/producer.vue'), - inmenu: false, - infooter: false, - }, - { - active: true, - order: 32, - path: '/admin/ecommerce/storehouses', - name: 'pages.storehouses', - component: () => import('@/rootgen/admin/storehouses/storehouses.vue'), - infooter: false, - }, - { - active: true, - order: 32, - path: '/admin/ecommerce/departments', - name: 'pages.departments', - component: () => import('@/rootgen/admin/departments/departments.vue'), - infooter: false, - }, - { - active: true, - order: 35, - path: '/admin/ecommerce/orders', - name: 'pages.orders2', - component: () => import('@/rootgen/admin/orders/orders.vue'), - infooter: false, - }, - { - active: true, - order: 36, - path: '/admin/ecommerce/categories', - name: 'pages.categories', - component: () => import('@/rootgen/admin/categories/categories.vue'), - infooter: false, - }, - - ] const routes_newsletter: IListRoutes[] = [ @@ -481,23 +340,6 @@ function getRoutesAd(site: ISites) { onlyAdmin: true, onlyManager: true }, - { - active: site.confpages && site.confpages.enableEcommerce, - path: '/admin/ecommerce', - order: 31, - faIcon: 'fa fa-list-alt', - materialIcon: 'next_week', - name: 'pages.admin_ecommerce', - routes2: routes_admin_ecommerce, - inmenu: false, - submenu: true, - level_parent: 0.5, - level_child: 0.5, - solotitle: true, - onlyAdmin: true, - onlyManager: true, - onlyDepartment: true - }, { active: true, order: 35, @@ -663,16 +505,6 @@ function getRoutesAd(site: ISites) { onlyEditor: true }, ...routes_manager, - { - active: true, - order: 1000, - path: '/404error', - materialIcon: 'fas fa-calendar-plus', - name: 'otherpages.error404', - component: () => import('@/root/My404page/My404page.vue'), - inmenu: false, - infooter: false - }, { active: true, diff --git a/src/router/routesECommerce.ts b/src/router/routesECommerce.ts new file mode 100644 index 00000000..622ed75b --- /dev/null +++ b/src/router/routesECommerce.ts @@ -0,0 +1,255 @@ +import { IListRoutes, ISites } from '@src/model' + +function getRoutesEcomm(site: ISites) { + + const routes_ecommerce: IListRoutes[] = [ + { + active: true, + order: 10, + path: '/admin/sites', + materialIcon: 'event_seat', + name: 'pages.Sites', + component: () => import('@/rootgen/admin/sites/sites.vue'), + level_parent: 0.0, + level_child: 0.5, + inmenu: true, + submenu: true, + onlyAdmin: true + }, + { + active: true, + order: 1000, + path: '/admin/cfgserv', + materialIcon: 'event_seat', + name: 'pages.Admin', + component: () => import('@/views/admin/cfgServer/cfgServer.vue'), + level_parent: 0.0, + level_child: 0.5, + inmenu: true, + submenu: true, + onlyAdmin: true + }, + { + active: true, + order: 1020, + path: '/admin/dbop', + materialIcon: 'event_seat', + name: 'pages.dbop', + component: () => import('@/views/admin/dbop/dbop.vue'), + level_parent: 0.0, + level_child: 0.5, + inmenu: true, + submenu: true, + onlyAdmin: true + }, + { + active: true, + order: 1040, + path: '/admin/importfile', + materialIcon: 'event_seat', + name: 'otherpages.manage.importfile', + component: () => import('@/rootgen/admin/importdata/importdata.vue'), + level_parent: 0.0, + level_child: 0.5, + inmenu: true, + submenu: true, + onlyAdmin: true + } + ] + + const routes_admin_ecommerce: IListRoutes[] = [ + { + active: true, + order: 30, + path: '/admin/ecommerce/products', + materialIcon: 'fas fa-file-alt', + name: 'pages.products', + component: () => import('@/rootgen/admin/products/products.vue'), + inmenu: true, + submenu: true, + level_parent: 0, + level_child: 0.5, + onlyManager: true, + onlyEditor: true + }, + { + active: true, + order: 30, + path: '/admin/ecommerce/producers', + materialIcon: 'fas fa-file-alt', + name: 'pages.producer', + component: () => import('@/rootgen/admin/producer/producer.vue'), + inmenu: true, + submenu: true, + level_parent: 0, + level_child: 0.5, + onlyManager: true, + onlyEditor: true + }, + { + active: true, + order: 30, + path: '/admin/ecommerce/storehouses', + materialIcon: 'fas fa-file-alt', + name: 'pages.storehouses', + component: () => import('@/rootgen/admin/storehouses/storehouses.vue'), + inmenu: true, + submenu: true, + level_parent: 0, + level_child: 0.5, + onlyManager: true, + onlyEditor: true + }, + { + active: true, + order: 31, + path: '/admin/ecommerce/departments', + materialIcon: 'fas fa-file-alt', + name: 'pages.departments', + component: () => import('@/rootgen/admin/departments/departments.vue'), + inmenu: true, + submenu: true, + level_parent: 0, + level_child: 0.5, + onlyManager: true, + onlyEditor: true + }, + { + active: true, + order: 31, + path: '/admin/ecommerce/orders', + materialIcon: 'fas fa-file-alt', + name: 'pages.orders', + component: () => import('@/rootgen/admin/orders/orders.vue'), + inmenu: true, + submenu: true, + level_parent: 0, + level_child: 0.5, + onlyManager: true, + onlyEditor: true + }, + { + active: true, + order: 32, + path: '/admin/ecommerce/categories', + materialIcon: 'fas fa-file-alt', + name: 'pages.categories', + component: () => import('@/rootgen/admin/categories/categories.vue'), + inmenu: true, + submenu: true, + level_parent: 0, + level_child: 0.5, + onlyManager: true, + onlyEditor: true + }, + + ] + + const routes_admin_ecommerce_menu: IListRoutes[] = [ + { + active: true, + order: 30, + path: '/admin/ecommerce/products', + name: 'pages.products', + component: () => import('@/rootgen/admin/products/products.vue'), + inmenu: false, + infooter: false, + }, + { + active: true, + order: 31, + path: '/admin/ecommerce/producers', + name: 'pages.producer', + component: () => import('@/rootgen/admin/producer/producer.vue'), + inmenu: false, + infooter: false, + }, + { + active: true, + order: 32, + path: '/admin/ecommerce/storehouses', + name: 'pages.storehouses', + component: () => import('@/rootgen/admin/storehouses/storehouses.vue'), + infooter: false, + }, + { + active: true, + order: 32, + path: '/admin/ecommerce/departments', + name: 'pages.departments', + component: () => import('@/rootgen/admin/departments/departments.vue'), + infooter: false, + }, + { + active: true, + order: 35, + path: '/admin/ecommerce/orders', + name: 'pages.orders2', + component: () => import('@/rootgen/admin/orders/orders.vue'), + infooter: false, + }, + { + active: true, + order: 36, + path: '/admin/ecommerce/categories', + name: 'pages.categories', + component: () => import('@/rootgen/admin/categories/categories.vue'), + infooter: false, + }, + + ] + + const menuEcomm = [ + ...routes_admin_ecommerce_menu, + { + active: site.confpages && site.confpages.enableEcommerce, + path: '/admin/ecommerce', + order: 31, + faIcon: 'fa fa-list-alt', + materialIcon: 'next_week', + name: 'pages.admin_ecommerce', + routes2: routes_admin_ecommerce, + inmenu: false, + submenu: true, + level_parent: 0.5, + level_child: 0.5, + solotitle: true, + onlyAdmin: true, + onlyManager: true, + onlyDepartment: true + }, + { + active: site.confpages && site.confpages.enableEcommerce, + path: '', + order: 1402, + faIcon: 'fa fa-list-alt', + materialIcon: 'next_week', + name: 'pages.ecommerce', + routes2: routes_ecommerce, + inmenu: true, + onlyif_logged: true, + // onlySocioResidente: true, + solotitle: true, + infooter: true + }, + ...routes_ecommerce, + { + active: true, + order: 1000, + path: '/product/:codprod', + materialIcon: 'event', + name: 'otherpages.product', + component: () => import('@/views/ecommerce/productInfo/productInfo.vue'), + inmenu: false, + infooter: false + }, + + ] + + return menuEcomm +} + + +export const routesECommerce = { + routesEcomm: getRoutesEcomm, +} diff --git a/src/store/globalStore.ts b/src/store/globalStore.ts index 666218a5..8c0fdb19 100644 --- a/src/store/globalStore.ts +++ b/src/store/globalStore.ts @@ -35,6 +35,7 @@ import { useMessageStore } from './MessageStore' import { useNotifStore } from '@store/NotifStore' import { useCircuitStore } from '@store/CircuitStore' import { routesAdmin } from '@src/router/routesAdmin' +import { routesECommerce } from '@src/router/routesECommerce' import LandingFooter from '@src/components/LandingFooter/LandingFooter' @@ -490,6 +491,7 @@ export const useGlobalStore = defineStore('GlobalStore', { const baseroutes = static_data.getDynamicPages(this.site); const adminRoutes = routesAdmin.routesAd(this.site); + const ecommRoutes = routesECommerce.routesEcomm(this.site); const last = { active: true, @@ -518,7 +520,7 @@ export const useGlobalStore = defineStore('GlobalStore', { if (!toolsext.sito_online(false)) { static_data.routes = [sito_offline, last] } else { - static_data.routes = [...baseroutes, ...adminRoutes, ...arrpagesroute, last] + static_data.routes = [...baseroutes, ...ecommRoutes, ...adminRoutes, ...arrpagesroute, last] } /*for (const menu of static_data.routes) {