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",
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],
},

View file

@ -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;

View file

@ -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<PermissionModule> = [
"user",
"role",
"backup",
"import",
];
export const permissionTypes: Array<PermissionType> = ["read", "create", "update", "delete"];
export const sectionsAndModules: SectionsAndModulesObject = {
operation: ["mission"],
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 />
<MailForm />
<BackupForm />
<VisibilityForm />
<WebapiForm />
<!-- <AuthForm />
<SecurityForm /> -->
<WebapiForm />
</template>
</MainTemplate>
</template>
@ -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";
</script>
<script lang="ts">