From 8a28dcd535bdce1d9771a4538ef072a172f787d7 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Thu, 13 Mar 2025 12:26:11 +0100 Subject: [PATCH] data import --- .../management/settings/VisibilityForm.vue | 23 ++++++++++++++++ src/router/index.ts | 19 +++++++++----- src/stores/admin/navigation.ts | 3 ++- src/types/permissionTypes.ts | 5 ++-- src/views/admin/management/import/Import.vue | 26 +++++++++++++++++++ .../admin/management/settings/Settings.vue | 4 ++- 6 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 src/components/admin/management/settings/VisibilityForm.vue create mode 100644 src/views/admin/management/import/Import.vue diff --git a/src/components/admin/management/settings/VisibilityForm.vue b/src/components/admin/management/settings/VisibilityForm.vue new file mode 100644 index 0000000..3ca5ac2 --- /dev/null +++ b/src/components/admin/management/settings/VisibilityForm.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/router/index.ts b/src/router/index.ts index 0cb9895..16597b4 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -271,16 +271,23 @@ const router = createRouter({ ], }, { - path: "version", - name: "admin-management-version", - component: () => import("@/views/admin/management/version/VersionDisplay.vue"), + path: "settings", + name: "admin-management-settings", + component: () => import("@/views/admin/management/settings/Settings.vue"), meta: { admin: true }, beforeEnter: [abilityAndNavUpdate], }, { - path: "settings", - name: "admin-management-settings", - component: () => import("@/views/admin/management/settings/Settings.vue"), + path: "import", + name: "admin-management-import", + component: () => import("@/views/admin/management/import/Import.vue"), + meta: { type: "read", section: "management", module: "import" }, + beforeEnter: [abilityAndNavUpdate], + }, + { + path: "version", + name: "admin-management-version", + component: () => import("@/views/admin/management/version/VersionDisplay.vue"), meta: { admin: true }, beforeEnter: [abilityAndNavUpdate], }, diff --git a/src/stores/admin/navigation.ts b/src/stores/admin/navigation.ts index 48f8ac4..ccc6502 100644 --- a/src/stores/admin/navigation.ts +++ b/src/stores/admin/navigation.ts @@ -106,8 +106,9 @@ export const useNavigationStore = defineStore("navigation", { ...(abilityStore.can("read", "management", "user") ? [{ key: "user", title: "Benutzer" }] : []), ...(abilityStore.can("read", "management", "role") ? [{ key: "role", title: "Rollen" }] : []), ...(abilityStore.can("read", "management", "backup") ? [{ key: "backup", title: "Backups" }] : []), - ...(abilityStore.isAdmin() ? [{ key: "version", title: "Version" }] : []), + ...(abilityStore.isAdmin() ? [{ key: "import", title: "Datenübernahme" }] : []), ...(abilityStore.isAdmin() ? [{ key: "settings", title: "Einstellungen" }] : []), + ...(abilityStore.isAdmin() ? [{ key: "version", title: "Version" }] : []), ], }, } as navigationModel; diff --git a/src/types/permissionTypes.ts b/src/types/permissionTypes.ts index 75a8595..a574d68 100644 --- a/src/types/permissionTypes.ts +++ b/src/types/permissionTypes.ts @@ -1,6 +1,6 @@ export type PermissionSection = "operation" | "configuration" | "management"; -export type PermissionModule = "mission" | "force" | "vehicle" | "equipment" | "user" | "role" | "backup"; +export type PermissionModule = "mission" | "force" | "vehicle" | "equipment" | "user" | "role" | "backup" | "import"; export type PermissionType = "read" | "create" | "update" | "delete"; @@ -32,10 +32,11 @@ export const permissionModules: Array = [ "user", "role", "backup", + "import", ]; export const permissionTypes: Array = ["read", "create", "update", "delete"]; export const sectionsAndModules: SectionsAndModulesObject = { operation: ["mission"], configuration: ["force", "vehicle", "equipment"], - management: ["user", "role", "backup"], + management: ["user", "role", "backup", "import"], }; diff --git a/src/views/admin/management/import/Import.vue b/src/views/admin/management/import/Import.vue new file mode 100644 index 0000000..ec057aa --- /dev/null +++ b/src/views/admin/management/import/Import.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/views/admin/management/settings/Settings.vue b/src/views/admin/management/settings/Settings.vue index 1e1065c..8752ebd 100644 --- a/src/views/admin/management/settings/Settings.vue +++ b/src/views/admin/management/settings/Settings.vue @@ -9,9 +9,10 @@ + + - @@ -25,6 +26,7 @@ import BackupForm from "@/components/admin/management/settings/BackupForm.vue"; import AuthForm from "@/components/admin/management/settings/AuthForm.vue"; import SecurityForm from "@/components/admin/management/settings/SecurityForm.vue"; import WebapiForm from "@/components/admin/management/settings/WebapiForm.vue"; +import VisibilityForm from "@/components/admin/management/settings/VisibilityForm.vue";