/home/ivoiecob/email.hirewise-va.com/modules/AdminPanelWebclient/vue/src/manager.js
import enums from 'src/enums'
import routesManager from 'src/router/routes-manager'
import settings from 'src/settings'
import store from 'src/store'
import { convertLocalstorageData } from 'src/convert-localstorage-data'
import Empty from 'components/Empty'
import EditTenant from 'components/EditTenant'
import EditGroup from 'components/EditGroup'
import GroupFilterForUsers from 'src/components/GroupFilterForUsers'
const UserRoles = enums.getUserRoles()
export default {
moduleName: 'AdminPanelWebclient',
requiredModules: [],
init (appData) {
convertLocalstorageData()
settings.init(appData)
const siteName = settings?.getCommonSettingData()?.siteName
if (siteName) {
document.title = siteName
}
},
getRoutes () {
const routes = [
{
name: 'login',
path: '/',
component: () => import('pages/Login.vue'),
pageUserRoles: [UserRoles.Anonymous],
},
{
name: 'system',
path: '/system',
component: () => import('pages/System.vue'),
children: routesManager.getRouteChildren('System'),
// the rest of the properties are custom
pageUserRoles: [UserRoles.SuperAdmin],
pageTitle: 'ADMINPANELWEBCLIENT.HEADING_SYSTEM_SETTINGS_TABNAME',
},
]
if (settings.getAllowGroups()) {
routes.push({
name: 'groups',
path: '/groups',
component: () => import('pages/Groups.vue'),
children: [
{ path: 'id/:id', component: EditGroup },
{ path: 'create', component: EditGroup },
{ path: 'search/:search', component: Empty },
{ path: 'search/:search/id/:id', component: EditGroup },
{ path: 'page/:page', component: Empty },
{ path: 'page/:page/id/:id', component: EditGroup },
{ path: 'search/:search/page/:page', component: Empty },
{ path: 'search/:search/page/:page/id/:id', component: EditGroup },
],
// the rest of the properties are custom
pageUserRoles: [UserRoles.SuperAdmin],
pageTitle: 'ADMINPANELWEBCLIENT.HEADING_GROUPS_SETTINGS_TABNAME',
})
}
return routes
},
getUserRoutes () {
return {
name: 'users',
path: '/users',
component: () => import('pages/Users.vue'),
children: routesManager.getAllUserRoutes(),
// the rest of the properties are custom
pageUserRoles: [UserRoles.SuperAdmin, UserRoles.TenantAdmin],
pageTitle: 'ADMINPANELWEBCLIENT.HEADING_USERS_SETTINGS_TABNAME',
}
},
getTenantRoutes () {
return {
name: 'tenants',
path: '/tenants',
component: () => import('pages/Tenants.vue'),
children: [
{ path: 'id/:id', component: EditTenant },
{ path: 'create', component: EditTenant },
{ path: 'search/:search', component: Empty },
{ path: 'search/:search/id/:id', component: EditTenant },
{ path: 'page/:page', component: Empty },
{ path: 'page/:page/id/:id', component: EditTenant },
{ path: 'search/:search/page/:page', component: Empty },
{ path: 'search/:search/page/:page/id/:id', component: EditTenant },
].concat(routesManager.getRouteChildren('Tenant')),
// the rest of the properties are custom
pageUserRoles: [UserRoles.SuperAdmin, UserRoles.TenantAdmin],
pageTitle: 'ADMINPANELWEBCLIENT.HEADING_TENANTS_SETTINGS_TABNAME',
}
},
getAdminSystemTabs () {
return [
{
tabName: 'admin-security',
tabTitle: 'ADMINPANELWEBCLIENT.LABEL_SECURITY_SETTINGS_TAB',
tabRouteChildren: [
{ path: 'admin-security', component: () => import('./components/AccountAdminSettings') },
],
},
{
tabName: 'admin-db',
tabTitle: 'ADMINPANELWEBCLIENT.HEADING_DB_SETTINGS',
tabRouteChildren: [
{ path: 'admin-db', component: () => import('./components/DbAdminSettingsView') },
],
},
{
tabName: 'about',
tabTitle: 'ADMINPANELWEBCLIENT.LABEL_ABOUT_SETTINGS_TAB',
tabRouteChildren: [
{ path: 'about', component: () => import('./components/AboutAdminSettings') },
],
}
]
},
getFiltersForUsers () {
const isUserSuperAdmin = store.getters['user/isUserSuperAdmin']
if (isUserSuperAdmin) {
return [
GroupFilterForUsers
]
}
return []
},
}