data import

This commit is contained in:
Julian Krauser 2025-03-13 12:26:11 +01:00
parent aa507acf0f
commit 8a28dcd535
6 changed files with 70 additions and 10 deletions

View file

@ -0,0 +1,23 @@
<template>
<div class="flex flex-col h-fit w-full border border-primary rounded-md">
<div class="bg-primary p-2 text-white flex flex-row justify-between items-center">
<p>Sichbarkeit</p>
</div>
<div class="flex flex-col gap-1 p-2">
<input type="number" placeholder="maximale Anzahl angezeigter vergangener Einsätze" />
<input type="number" placeholder="maximale Anzahl angezeigter vergangener Tage" />
</div>
</div>
</template>
<script setup lang="ts">
import { defineComponent } from "vue";
import { mapState, mapActions } from "pinia";
</script>
<script lang="ts">
export default defineComponent({
computed: {},
methods: {},
});
</script>

View file

@ -271,16 +271,23 @@ const router = createRouter({
], ],
}, },
{ {
path: "version", path: "settings",
name: "admin-management-version", name: "admin-management-settings",
component: () => import("@/views/admin/management/version/VersionDisplay.vue"), component: () => import("@/views/admin/management/settings/Settings.vue"),
meta: { admin: true }, meta: { admin: true },
beforeEnter: [abilityAndNavUpdate], beforeEnter: [abilityAndNavUpdate],
}, },
{ {
path: "settings", path: "import",
name: "admin-management-settings", name: "admin-management-import",
component: () => import("@/views/admin/management/settings/Settings.vue"), 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 }, meta: { admin: true },
beforeEnter: [abilityAndNavUpdate], beforeEnter: [abilityAndNavUpdate],
}, },

View file

@ -106,8 +106,9 @@ export const useNavigationStore = defineStore("navigation", {
...(abilityStore.can("read", "management", "user") ? [{ key: "user", title: "Benutzer" }] : []), ...(abilityStore.can("read", "management", "user") ? [{ key: "user", title: "Benutzer" }] : []),
...(abilityStore.can("read", "management", "role") ? [{ key: "role", title: "Rollen" }] : []), ...(abilityStore.can("read", "management", "role") ? [{ key: "role", title: "Rollen" }] : []),
...(abilityStore.can("read", "management", "backup") ? [{ key: "backup", title: "Backups" }] : []), ...(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: "settings", title: "Einstellungen" }] : []),
...(abilityStore.isAdmin() ? [{ key: "version", title: "Version" }] : []),
], ],
}, },
} as navigationModel; } as navigationModel;

View file

@ -1,6 +1,6 @@
export type PermissionSection = "operation" | "configuration" | "management"; 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"; export type PermissionType = "read" | "create" | "update" | "delete";
@ -32,10 +32,11 @@ export const permissionModules: Array<PermissionModule> = [
"user", "user",
"role", "role",
"backup", "backup",
"import",
]; ];
export const permissionTypes: Array<PermissionType> = ["read", "create", "update", "delete"]; export const permissionTypes: Array<PermissionType> = ["read", "create", "update", "delete"];
export const sectionsAndModules: SectionsAndModulesObject = { export const sectionsAndModules: SectionsAndModulesObject = {
operation: ["mission"], operation: ["mission"],
configuration: ["force", "vehicle", "equipment"], configuration: ["force", "vehicle", "equipment"],
management: ["user", "role", "backup"], management: ["user", "role", "backup", "import"],
}; };

View file

@ -0,0 +1,26 @@
<template>
<MainTemplate :useStagedOverviewLink="false">
<template #topBar>
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
<h1 class="font-bold text-xl h-8">Datenübernahme</h1>
</div>
</template>
<template #main> </template>
</MainTemplate>
</template>
<script setup lang="ts">
import { defineComponent } from "vue";
import MainTemplate from "@/templates/Main.vue";
</script>
<script lang="ts">
export default defineComponent({
data() {
return {};
},
computed: {},
mounted() {},
methods: {},
});
</script>

View file

@ -9,9 +9,10 @@
<ClubForm /> <ClubForm />
<MailForm /> <MailForm />
<BackupForm /> <BackupForm />
<VisibilityForm />
<WebapiForm />
<!-- <AuthForm /> <!-- <AuthForm />
<SecurityForm /> --> <SecurityForm /> -->
<WebapiForm />
</template> </template>
</MainTemplate> </MainTemplate>
</template> </template>
@ -25,6 +26,7 @@ import BackupForm from "@/components/admin/management/settings/BackupForm.vue";
import AuthForm from "@/components/admin/management/settings/AuthForm.vue"; import AuthForm from "@/components/admin/management/settings/AuthForm.vue";
import SecurityForm from "@/components/admin/management/settings/SecurityForm.vue"; import SecurityForm from "@/components/admin/management/settings/SecurityForm.vue";
import WebapiForm from "@/components/admin/management/settings/WebapiForm.vue"; import WebapiForm from "@/components/admin/management/settings/WebapiForm.vue";
import VisibilityForm from "@/components/admin/management/settings/VisibilityForm.vue";
</script> </script>
<script lang="ts"> <script lang="ts">