diff --git a/dashboard/src/Index.vue b/dashboard/src/Index.vue index cc0b6c2b1..5e8ad3e5c 100644 --- a/dashboard/src/Index.vue +++ b/dashboard/src/Index.vue @@ -28,7 +28,9 @@ import EventlogView from './views/EventlogView.vue'; import NetworkView from './views/NetworkView.vue'; import ProfileView from './views/ProfileView.vue'; import ServicesView from './views/ServicesView.vue'; -import SystemView from './views/SystemView.vue'; +import SystemLocaleView from './views/SystemLocaleView.vue'; +import SystemUpdateView from './views/SystemUpdateView.vue'; +import SystemDockerView from './views/SystemDockerView.vue'; import MetricsView from './views/MetricsView.vue'; import UserDirectorySettingsView from './views/UserDirectorySettingsView.vue'; import UserDirectoryLdapProviderView from './views/UserDirectoryLdapProviderView.vue'; @@ -50,12 +52,14 @@ const VIEWS = { EMAIL_SETTINGS: 'email-settings', EMAIL_EVENTLOG: 'email-eventlog', EMAIL_STATUS: 'email-status', - EVENTLOG: 'eventlog', METRICS: 'metrics', NETWORK: 'network', PROFILE: 'profile', SERVICES: 'services', - SYSTEM: 'system', + SYSTEM_LOCALE: 'system-locale', + SYSTEM_DOCKER: 'system-docker', + SYSTEM_EVENTLOG: 'system-eventlog', + SYSTEM_UPDATE: 'system-update', USER_DIRECTORY_SETTINGS: 'user-directory-settings', USER_DIRECTORY_LDAP_PROVIDER: 'user-directory-ldap-provider', USER_DIRECTORY_OPENID_PROVIDER: 'user-directory-openid-provider', @@ -123,6 +127,7 @@ function onHashChange() { activeSidebarItem.value = v; if (activeSidebarItem.value.indexOf('email') === 0) activeSidebarGroup.value = 'email'; + if (activeSidebarItem.value.indexOf('system') === 0) activeSidebarGroup.value = 'system'; else if (activeSidebarItem.value.indexOf('user-directory') === 0) activeSidebarGroup.value = 'user-directory'; else activeSidebarGroup.value = ''; @@ -152,8 +157,6 @@ function onHashChange() { view.value = VIEWS.EMAIL_EVENTLOG; } else if (v === VIEWS.EMAIL_STATUS && profile.value.isAtLeastMailManager) { view.value = VIEWS.EMAIL_STATUS; - } else if (v === VIEWS.EVENTLOG && profile.value.isAtLeastAdmin) { - view.value = VIEWS.EVENTLOG; } else if (v === VIEWS.METRICS && profile.value.isAtLeastAdmin) { view.value = VIEWS.METRICS; } else if (v === VIEWS.NETWORK && profile.value.isAtLeastAdmin) { @@ -162,8 +165,14 @@ function onHashChange() { view.value = VIEWS.PROFILE; } else if (v === VIEWS.SERVICES && profile.value.isAtLeastAdmin) { view.value = VIEWS.SERVICES; - } else if (v === VIEWS.SYSTEM && profile.value.isAtLeastAdmin) { - view.value = VIEWS.SYSTEM; + } else if (v === VIEWS.SYSTEM_LOCALE && profile.value.isAtLeastAdmin) { + view.value = VIEWS.SYSTEM_LOCALE; + } else if (v === VIEWS.SYSTEM_DOCKER && profile.value.isAtLeastAdmin) { + view.value = VIEWS.SYSTEM_DOCKER; + } else if (v === VIEWS.SYSTEM_EVENTLOG && profile.value.isAtLeastAdmin) { + view.value = VIEWS.SYSTEM_EVENTLOG; + } else if (v === VIEWS.SYSTEM_UPDATE && profile.value.isAtLeastAdmin) { + view.value = VIEWS.SYSTEM_UPDATE; } else if (v === VIEWS.USER_DIRECTORY_SETTINGS && profile.value.isAtLeastAdmin) { view.value = VIEWS.USER_DIRECTORY_SETTINGS; } else if (v === VIEWS.USER_DIRECTORY_LDAP_PROVIDER && profile.value.isAtLeastAdmin) { @@ -266,10 +275,18 @@ onMounted(async () => { {{ $t('emails.settings.title') }} - {{ $t('eventlog.title') }} {{ $t('network.title') }} {{ $t('services.title') }} - {{ $t('settings.title') }} + + + + + {{ $t('main.navbar.users') }} @@ -303,12 +320,14 @@ onMounted(async () => { - + - + + + diff --git a/dashboard/src/views/SystemDockerView.vue b/dashboard/src/views/SystemDockerView.vue new file mode 100644 index 000000000..33958061d --- /dev/null +++ b/dashboard/src/views/SystemDockerView.vue @@ -0,0 +1,11 @@ + + + diff --git a/dashboard/src/views/SystemView.vue b/dashboard/src/views/SystemLocaleView.vue similarity index 95% rename from dashboard/src/views/SystemView.vue rename to dashboard/src/views/SystemLocaleView.vue index 0c20e5d36..a413491b7 100644 --- a/dashboard/src/views/SystemView.vue +++ b/dashboard/src/views/SystemLocaleView.vue @@ -9,8 +9,6 @@ import { SingleSelect } from 'pankow'; import moment from 'moment-timezone'; import SettingsItem from '../components/SettingsItem.vue'; import Section from '../components/Section.vue'; -import SystemUpdate from '../components/SystemUpdate.vue'; -import PrivateRegistry from '../components/PrivateRegistry.vue'; import CloudronModel from '../models/CloudronModel.js'; import DashboardModel from '../models/DashboardModel.js'; import SystemModel from '../models/SystemModel.js'; @@ -118,8 +116,5 @@ onMounted(async () => { - - - diff --git a/dashboard/src/views/SystemUpdateView.vue b/dashboard/src/views/SystemUpdateView.vue new file mode 100644 index 000000000..4d1e9e9e2 --- /dev/null +++ b/dashboard/src/views/SystemUpdateView.vue @@ -0,0 +1,11 @@ + + +