diff --git a/src/router/index.ts b/src/router/index.ts index e2e484c..503ce7f 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -304,6 +304,13 @@ const router = createRouter({ }, ], }, + { + path: "unit", + name: "admin-unit", + component: () => import("@/views/RouterView.vue"), + meta: { type: "read", section: "unit" }, + beforeEnter: [abilityAndNavUpdate], + }, { path: "configuration", name: "admin-configuration", diff --git a/src/stores/admin/navigation.ts b/src/stores/admin/navigation.ts index cc9024a..a17bba9 100644 --- a/src/stores/admin/navigation.ts +++ b/src/stores/admin/navigation.ts @@ -57,6 +57,15 @@ export const useNavigationStore = defineStore("navigation", { } as topLevelNavigationModel, ] : []), + ...(abilityStore.canSection("read", "unit") + ? [ + { + key: "unit", + title: "Wehr", + levelDefault: "", + } as topLevelNavigationModel, + ] + : []), ...(abilityStore.canSection("read", "configuration") ? [ { diff --git a/src/types/permissionTypes.ts b/src/types/permissionTypes.ts index e9ed138..8dae3d3 100644 --- a/src/types/permissionTypes.ts +++ b/src/types/permissionTypes.ts @@ -1,4 +1,4 @@ -export type PermissionSection = "club" | "configuration" | "management"; +export type PermissionSection = "club" | "unit" | "configuration" | "management"; export type PermissionModule = | "member" @@ -44,7 +44,7 @@ export type SectionsAndModulesObject = { [section in PermissionSection]: Array; }; -export const permissionSections: Array = ["club", "configuration", "management"]; +export const permissionSections: Array = ["club", "unit", "configuration", "management"]; export const permissionModules: Array = [ "member", "calendar", @@ -71,6 +71,7 @@ export const permissionModules: Array = [ export const permissionTypes: Array = ["read", "create", "update", "delete"]; export const sectionsAndModules: SectionsAndModulesObject = { club: ["member", "calendar", "newsletter", "protocol", "query", "listprint"], + unit: [], configuration: [ "qualification", "award",