change folder structure
This commit is contained in:
parent
662f36b3e2
commit
1d2e113c4b
140 changed files with 400 additions and 323 deletions
|
@ -73,11 +73,7 @@
|
|||
<br />
|
||||
<TextCopy :copyText="generatedLink" />
|
||||
<div v-if="selectedTypes.length != 0" class="flex flex-row gap-2 items-center">
|
||||
<input
|
||||
type="checkbox"
|
||||
id="nscdr"
|
||||
v-model="provideNSCDR"
|
||||
/>
|
||||
<input type="checkbox" id="nscdr" v-model="provideNSCDR" />
|
||||
<label for="nscdr">Standard-Typen trotz Auswahl ausliefern</label>
|
||||
</div>
|
||||
<br />
|
||||
|
@ -105,8 +101,8 @@ import { defineComponent } from "vue";
|
|||
import { mapState, mapActions } from "pinia";
|
||||
import { RouterLink } from "vue-router";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/configuration/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import TextCopy from "@/components/TextCopy.vue";
|
||||
|
@ -119,7 +115,7 @@ export default defineComponent({
|
|||
data() {
|
||||
return {
|
||||
selectedTypes: [] as Array<CalendarTypeViewModel>,
|
||||
provideNSCDR: false as boolean
|
||||
provideNSCDR: false as boolean,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
@ -133,7 +129,7 @@ export default defineComponent({
|
|||
},
|
||||
generatedLink() {
|
||||
let extend = this.selectedTypes.map((t) => [t.type, t.passphrase].filter((at) => at).join(":"));
|
||||
return `webcal://${host || window.location.host}/api/public/calendar${extend.length == 0 ? "" : "?types=" + extend.join("&types=")}${this.provideNSCDR && extend.length != 0 ? '&nscdr=true':''}`;
|
||||
return `webcal://${host || window.location.host}/api/public/calendar${extend.length == 0 ? "" : "?types=" + extend.join("&types=")}${this.provideNSCDR && extend.length != 0 ? "&nscdr=true" : ""}`;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
|
|
@ -166,8 +166,8 @@ import { useCalendarStore } from "@/stores/admin/club/calendar";
|
|||
import type { CreateCalendarViewModel } from "@/viewmodels/admin/club/calendar.models";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/configuration/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
|
|
@ -189,8 +189,8 @@ import type {
|
|||
} from "@/viewmodels/admin/club/calendar.models";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon, TrashIcon } from "@heroicons/vue/20/solid";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/configuration/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
import cloneDeep from "lodash.clonedeep";
|
||||
import isEqual from "lodash.isequal";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
|
|
|
@ -101,8 +101,8 @@ import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } f
|
|||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useMemberStore } from "@/stores/admin/club/member/member";
|
||||
import type { CreateMemberViewModel } from "@/viewmodels/admin/club/member/member.models";
|
||||
import { useSalutationStore } from "../../../../stores/admin/settings/salutation";
|
||||
import type { SalutationViewModel } from "../../../../viewmodels/admin/settings/salutation.models";
|
||||
import { useSalutationStore } from "../../../../stores/admin/configuration/salutation";
|
||||
import type { SalutationViewModel } from "../../../../viewmodels/admin/configuration/salutation.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
|
|
@ -97,12 +97,12 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
|
||||
import { useMembershipStore } from "@/stores/admin/club/member/membership";
|
||||
import { useAwardStore } from "@/stores/admin/settings/award";
|
||||
import type { AwardViewModel } from "@/viewmodels/admin/settings/award.models";
|
||||
import { useAwardStore } from "@/stores/admin/configuration/award";
|
||||
import type { AwardViewModel } from "@/viewmodels/admin/configuration/award.models";
|
||||
import type { CreateMemberAwardViewModel } from "@/viewmodels/admin/club/member/memberAward.models";
|
||||
import { useMemberAwardStore } from "@/stores/admin/club/member/memberAward";
|
||||
</script>
|
||||
|
|
|
@ -100,7 +100,7 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useAwardStore } from "@/stores/admin/settings/award";
|
||||
import { useAwardStore } from "@/stores/admin/configuration/award";
|
||||
import type {
|
||||
CreateMemberAwardViewModel,
|
||||
MemberAwardViewModel,
|
||||
|
|
|
@ -131,8 +131,8 @@ import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } f
|
|||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useCommunicationStore } from "@/stores/admin/club/member/communication";
|
||||
import type { CreateCommunicationViewModel } from "@/viewmodels/admin/club/member/communication.models";
|
||||
import { useCommunicationTypeStore } from "@/stores/admin/settings/communicationType";
|
||||
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
|
||||
import { useCommunicationTypeStore } from "@/stores/admin/configuration/communicationType";
|
||||
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/configuration/communicationType.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
|
|
@ -99,12 +99,12 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
|
||||
import { useMembershipStore } from "@/stores/admin/club/member/membership";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
|
||||
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/settings/executivePosition.models";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/configuration/executivePosition";
|
||||
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/configuration/executivePosition.models";
|
||||
import type { CreateMemberExecutivePositionViewModel } from "@/viewmodels/admin/club/member/memberExecutivePosition.models";
|
||||
import { useMemberExecutivePositionStore } from "@/stores/admin/club/member/memberExecutivePosition";
|
||||
</script>
|
||||
|
|
|
@ -106,7 +106,7 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/configuration/executivePosition";
|
||||
import type {
|
||||
CreateMemberExecutivePositionViewModel,
|
||||
MemberExecutivePositionViewModel,
|
||||
|
|
|
@ -106,12 +106,12 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
|
||||
import { useMembershipStore } from "@/stores/admin/club/member/membership";
|
||||
import { useQualificationStore } from "@/stores/admin/settings/qualification";
|
||||
import type { QualificationViewModel } from "@/viewmodels/admin/settings/qualification.models";
|
||||
import { useQualificationStore } from "@/stores/admin/configuration/qualification";
|
||||
import type { QualificationViewModel } from "@/viewmodels/admin/configuration/qualification.models";
|
||||
import type { CreateMemberQualificationViewModel } from "@/viewmodels/admin/club/member/memberQualification.models";
|
||||
import { useMemberQualificationStore } from "@/stores/admin/club/member/memberQualification";
|
||||
</script>
|
||||
|
|
|
@ -41,7 +41,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useQualificationStore } from "@/stores/admin/settings/qualification";
|
||||
import { useQualificationStore } from "@/stores/admin/configuration/qualification";
|
||||
import { useMemberQualificationStore } from "@/stores/admin/club/member/memberQualification";
|
||||
</script>
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useQualificationStore } from "@/stores/admin/settings/qualification";
|
||||
import { useQualificationStore } from "@/stores/admin/configuration/qualification";
|
||||
import type {
|
||||
CreateMemberQualificationViewModel,
|
||||
MemberQualificationViewModel,
|
||||
|
|
|
@ -94,8 +94,8 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
import type { CreateMembershipViewModel } from "@/viewmodels/admin/club/member/membership.models";
|
||||
import { useMembershipStore } from "@/stores/admin/club/member/membership";
|
||||
</script>
|
||||
|
|
|
@ -103,7 +103,7 @@ import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
|||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
import type {
|
||||
CreateMembershipViewModel,
|
||||
MembershipViewModel,
|
||||
|
|
|
@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { AwardViewModel } from "@/viewmodels/admin/settings/award.models";
|
||||
import type { AwardViewModel } from "@/viewmodels/admin/configuration/award.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -38,7 +38,7 @@ export default defineComponent({
|
|||
...mapActions(useModalStore, ["openModal"]),
|
||||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/settings/award/DeleteAwardModal.vue"))),
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/configuration/award/DeleteAwardModal.vue"))),
|
||||
this.award.id
|
||||
);
|
||||
},
|
|
@ -34,8 +34,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useAwardStore } from "@/stores/admin/settings/award";
|
||||
import type { CreateAwardViewModel } from "@/viewmodels/admin/settings/award.models";
|
||||
import { useAwardStore } from "@/stores/admin/configuration/award";
|
||||
import type { CreateAwardViewModel } from "@/viewmodels/admin/configuration/award.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,8 +31,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useAwardStore } from "@/stores/admin/settings/award";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
import { useAwardStore } from "@/stores/admin/configuration/award";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -30,7 +30,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon, EyeIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -46,7 +46,9 @@ export default defineComponent({
|
|||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/settings/calendarType/DeleteCalendarTypeModal.vue"))
|
||||
defineAsyncComponent(
|
||||
() => import("@/components/admin/configuration/calendarType/DeleteCalendarTypeModal.vue")
|
||||
)
|
||||
),
|
||||
this.calendarType.id
|
||||
);
|
|
@ -47,8 +47,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
|
||||
import type { CreateCalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/configuration/calendarType";
|
||||
import type { CreateCalendarTypeViewModel } from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,7 +31,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/configuration/calendarType";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -33,7 +33,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
|
||||
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/configuration/communicationType.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -50,7 +50,7 @@ export default defineComponent({
|
|||
this.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(
|
||||
() => import("@/components/admin/settings/communicationType/DeleteCommunicationTypeModal.vue")
|
||||
() => import("@/components/admin/configuration/communicationType/DeleteCommunicationTypeModal.vue")
|
||||
)
|
||||
),
|
||||
this.communicationType.id
|
|
@ -80,8 +80,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useCommunicationTypeStore } from "@/stores/admin/settings/communicationType";
|
||||
import type { CreateCommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
|
||||
import { useCommunicationTypeStore } from "@/stores/admin/configuration/communicationType";
|
||||
import type { CreateCommunicationTypeViewModel } from "@/viewmodels/admin/configuration/communicationType.models";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import type { CommunicationFieldType } from "@/types/fieldTypes";
|
|
@ -31,7 +31,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useCommunicationTypeStore } from "@/stores/admin/settings/communicationType";
|
||||
import { useCommunicationTypeStore } from "@/stores/admin/configuration/communicationType";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -34,8 +34,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
|
||||
import type { CreateExecutivePositionViewModel } from "@/viewmodels/admin/settings/executivePosition.models";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/configuration/executivePosition";
|
||||
import type { CreateExecutivePositionViewModel } from "@/viewmodels/admin/configuration/executivePosition.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,8 +31,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/settings/executivePosition";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
import { useExecutivePositionStore } from "@/stores/admin/configuration/executivePosition";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/settings/executivePosition.models";
|
||||
import type { ExecutivePositionViewModel } from "@/viewmodels/admin/configuration/executivePosition.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -40,7 +40,7 @@ export default defineComponent({
|
|||
this.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(
|
||||
() => import("@/components/admin/settings/executivePosition/DeleteExecutivePositionModal.vue")
|
||||
() => import("@/components/admin/configuration/executivePosition/DeleteExecutivePositionModal.vue")
|
||||
)
|
||||
),
|
||||
this.executivePosition.id
|
|
@ -34,8 +34,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import type { CreateMembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
import type { CreateMembershipStatusViewModel } from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,8 +31,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/settings/membershipStatus";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
import { useMembershipStatusStore } from "@/stores/admin/configuration/membershipStatus";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
import type { MembershipStatusViewModel } from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -40,7 +40,7 @@ export default defineComponent({
|
|||
this.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(
|
||||
() => import("@/components/admin/settings/membershipStatus/DeleteMembershipStatusModal.vue")
|
||||
() => import("@/components/admin/configuration/membershipStatus/DeleteMembershipStatusModal.vue")
|
||||
)
|
||||
),
|
||||
this.membershipStatus.id
|
|
@ -2,7 +2,7 @@
|
|||
<form ref="form" class="flex flex-col h-fit w-full border border-primary rounded-md" @submit.prevent="updateUsage">
|
||||
<div class="bg-primary p-2 text-white flex flex-row justify-between items-center">
|
||||
<p>Newsletter bei Type "{{ comType.type }}" versenden/exportieren als</p>
|
||||
<div v-if="can('create','settings','newsletter_config')" class="flex flex-row justify-end w-16">
|
||||
<div v-if="can('create', 'settings', 'newsletter_config')" class="flex flex-row justify-end w-16">
|
||||
<button v-if="status == null" type="submit" class="!p-0 !h-fit !w-fit" title="speichern">
|
||||
<ArchiveBoxArrowDownIcon class="w-5 h-5 p-1 box-content pointer-events-none" />
|
||||
</button>
|
||||
|
@ -18,7 +18,9 @@
|
|||
<div class="flex flex-row gap-2 items-center">
|
||||
<select ref="config" id="config" :value="newsletterConfig?.config ?? 'def'">
|
||||
<option value="def">Standard (pdf nur mit Name)</option>
|
||||
<option v-for="config in configs" :key="config" :value="config">{{ config == "pdf" ? "pdf mit Adresse":config }}</option>
|
||||
<option v-for="config in configs" :key="config" :value="config">
|
||||
{{ config == "pdf" ? "pdf mit Adresse" : config }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -29,14 +31,14 @@
|
|||
import { defineComponent, type PropType } from "vue";
|
||||
import { mapState, mapActions } from "pinia";
|
||||
import { ArchiveBoxArrowDownIcon, ArchiveBoxXMarkIcon } from "@heroicons/vue/24/outline";
|
||||
import { useNewsletterConfigStore } from "@/stores/admin/settings/newsletterConfig";
|
||||
import { useNewsletterConfigStore } from "@/stores/admin/configuration/newsletterConfig";
|
||||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import { NewsletterConfigType } from "@/enums/newsletterConfigType";
|
||||
import type { AxiosResponse } from "axios";
|
||||
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/settings/communicationType.models";
|
||||
import type { CommunicationTypeViewModel } from "@/viewmodels/admin/configuration/communicationType.models";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
</script>
|
||||
|
||||
|
@ -52,12 +54,12 @@ export default defineComponent({
|
|||
configs: [] as Array<string>,
|
||||
};
|
||||
},
|
||||
computed:{
|
||||
computed: {
|
||||
...mapState(useNewsletterConfigStore, ["config"]),
|
||||
...mapState(useAbilityStore, ["can"]),
|
||||
newsletterConfig() {
|
||||
return this.config.find(c => c.comTypeId == this.comType.id)
|
||||
}
|
||||
return this.config.find((c) => c.comTypeId == this.comType.id);
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.configs = Object.values(NewsletterConfigType);
|
||||
|
@ -74,17 +76,18 @@ export default defineComponent({
|
|||
const fromData = e.target.elements;
|
||||
const config = fromData.config.value === "def" ? null : fromData.config.value;
|
||||
|
||||
this.status = "loading"
|
||||
let request: Promise<AxiosResponse<any, any>>
|
||||
if(config){
|
||||
this.status = "loading";
|
||||
let request: Promise<AxiosResponse<any, any>>;
|
||||
if (config) {
|
||||
request = this.setNewsletterConfig({
|
||||
comTypeId: this.comType.id,
|
||||
config: config
|
||||
})
|
||||
config: config,
|
||||
});
|
||||
} else {
|
||||
request = this.deleteNewsletterConfig(this.comType.id)
|
||||
request = this.deleteNewsletterConfig(this.comType.id);
|
||||
}
|
||||
request.then(() => {
|
||||
request
|
||||
.then(() => {
|
||||
this.status = { status: "success" };
|
||||
this.timeout = setTimeout(() => {
|
||||
this.status = null;
|
|
@ -38,8 +38,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useQualificationStore } from "@/stores/admin/settings/qualification";
|
||||
import type { CreateQualificationViewModel } from "@/viewmodels/admin/settings/qualification.models";
|
||||
import { useQualificationStore } from "@/stores/admin/configuration/qualification";
|
||||
import type { CreateQualificationViewModel } from "@/viewmodels/admin/configuration/qualification.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,8 +31,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useQualificationStore } from "@/stores/admin/settings/qualification";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
import { useQualificationStore } from "@/stores/admin/configuration/qualification";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -29,7 +29,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { QualificationViewModel } from "@/viewmodels/admin/settings/qualification.models";
|
||||
import type { QualificationViewModel } from "@/viewmodels/admin/configuration/qualification.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -45,7 +45,9 @@ export default defineComponent({
|
|||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/settings/qualification/DeleteQualificationModal.vue"))
|
||||
defineAsyncComponent(
|
||||
() => import("@/components/admin/configuration/qualification/DeleteQualificationModal.vue")
|
||||
)
|
||||
),
|
||||
this.qualification.id
|
||||
);
|
|
@ -34,8 +34,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
|
||||
import type { CreateQueryViewModel } from "@/viewmodels/admin/settings/query.models";
|
||||
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
||||
import type { CreateQueryViewModel } from "@/viewmodels/admin/configuration/query.models";
|
||||
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
|
||||
</script>
|
||||
|
|
@ -31,7 +31,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
|
||||
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -23,7 +23,7 @@ import { mapState, mapActions, mapWritableState } from "pinia";
|
|||
import { EyeIcon, PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { QueryViewModel } from "@/viewmodels/admin/settings/query.models";
|
||||
import type { QueryViewModel } from "@/viewmodels/admin/configuration/query.models";
|
||||
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
|
||||
</script>
|
||||
|
||||
|
@ -45,7 +45,9 @@ export default defineComponent({
|
|||
},
|
||||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/settings/queryStore/DeleteQueryStoreModal.vue"))),
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/queryStore/DeleteQueryStoreModal.vue"))
|
||||
),
|
||||
this.queryItem.id
|
||||
);
|
||||
},
|
|
@ -36,8 +36,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
|
||||
import type { CreateQueryViewModel, UpdateQueryViewModel } from "@/viewmodels/admin/settings/query.models";
|
||||
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
||||
import type { CreateQueryViewModel, UpdateQueryViewModel } from "@/viewmodels/admin/configuration/query.models";
|
||||
import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
|
||||
</script>
|
||||
|
||||
|
@ -67,7 +67,9 @@ export default defineComponent({
|
|||
...mapActions(useQueryStoreStore, ["updateActiveQueryStore"]),
|
||||
changeToCreate() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/settings/queryStore/CreateQueryStoreModal.vue")))
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/queryStore/CreateQueryStoreModal.vue"))
|
||||
)
|
||||
);
|
||||
},
|
||||
triggerUpdate() {
|
|
@ -34,8 +34,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useSalutationStore } from "@/stores/admin/settings/salutation";
|
||||
import type { CreateSalutationViewModel } from "@/viewmodels/admin/settings/salutation.models";
|
||||
import { useSalutationStore } from "@/stores/admin/configuration/salutation";
|
||||
import type { CreateSalutationViewModel } from "@/viewmodels/admin/configuration/salutation.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,8 +31,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useSalutationStore } from "@/stores/admin/settings/salutation";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
import { useSalutationStore } from "@/stores/admin/configuration/salutation";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -23,7 +23,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { SalutationViewModel } from "@/viewmodels/admin/settings/salutation.models";
|
||||
import type { SalutationViewModel } from "@/viewmodels/admin/configuration/salutation.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -38,7 +38,9 @@ export default defineComponent({
|
|||
...mapActions(useModalStore, ["openModal"]),
|
||||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/settings/salutation/DeleteSalutationModal.vue"))),
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/salutation/DeleteSalutationModal.vue"))
|
||||
),
|
||||
this.salutation.id
|
||||
);
|
||||
},
|
|
@ -38,8 +38,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useTemplateStore } from "@/stores/admin/settings/template";
|
||||
import type { CreateTemplateViewModel } from "@/viewmodels/admin/settings/template.models";
|
||||
import { useTemplateStore } from "@/stores/admin/configuration/template";
|
||||
import type { CreateTemplateViewModel } from "@/viewmodels/admin/configuration/template.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,8 +31,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
|
||||
import { useTemplateStore } from "@/stores/admin/settings/template";
|
||||
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
||||
import { useTemplateStore } from "@/stores/admin/configuration/template";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -35,8 +35,8 @@ import { mapState, mapActions } from "pinia";
|
|||
import { PencilIcon, TrashIcon, DocumentDuplicateIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import type { TemplateViewModel } from "@/viewmodels/admin/settings/template.models";
|
||||
import { useTemplateStore } from "@/stores/admin/settings/template";
|
||||
import type { TemplateViewModel } from "@/viewmodels/admin/configuration/template.models";
|
||||
import { useTemplateStore } from "@/stores/admin/configuration/template";
|
||||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
|
@ -63,14 +63,16 @@ export default defineComponent({
|
|||
},
|
||||
methods: {
|
||||
...mapActions(useModalStore, ["openModal"]),
|
||||
...mapActions(useTemplateStore,["cloneTemplate"]),
|
||||
...mapActions(useTemplateStore, ["cloneTemplate"]),
|
||||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/settings/template/DeleteTemplateModal.vue"))),
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/template/DeleteTemplateModal.vue"))
|
||||
),
|
||||
this.template.id
|
||||
);
|
||||
},
|
||||
cloneElement(){
|
||||
cloneElement() {
|
||||
this.cloneTemplate(this.template.id)
|
||||
.then((res) => {
|
||||
this.status = { status: "success" };
|
||||
|
@ -82,7 +84,7 @@ export default defineComponent({
|
|||
.catch(() => {
|
||||
this.status = { status: "failed" };
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
|
@ -14,7 +14,7 @@ import { defineComponent } from "vue";
|
|||
import { mapState, mapActions } from "pinia";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import Spinner from "@/components/Spinner.vue";
|
||||
import { useTemplateUsageStore } from "@/stores/admin/settings/templateUsage";
|
||||
import { useTemplateUsageStore } from "@/stores/admin/configuration/templateUsage";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -22,7 +22,7 @@ export default defineComponent({
|
|||
data() {
|
||||
return {
|
||||
status: null as null | "loading" | { status: "success" | "failed"; reason?: string },
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState(useModalStore, ["data"]),
|
||||
|
@ -34,7 +34,7 @@ export default defineComponent({
|
|||
...mapActions(useModalStore, ["closeModal"]),
|
||||
...mapActions(useTemplateUsageStore, ["previewTemplateUsage"]),
|
||||
fetchItem() {
|
||||
this.status = "loading"
|
||||
this.status = "loading";
|
||||
this.previewTemplateUsage(this.data)
|
||||
.then((response) => {
|
||||
this.status = { status: "success" };
|
|
@ -6,13 +6,24 @@
|
|||
<button type="button" class="!p-0 !h-fit !w-fit" title="Vorschau erzeugen" @click="previewUsage">
|
||||
<EyeIcon class="w-5 h-5 p-1 box-content pointer-events-none" />
|
||||
</button>
|
||||
<button v-if="status == null && can('create','settings','newsletter_config')" type="submit" class="!p-0 !h-fit !w-fit" title="speichern">
|
||||
<button
|
||||
v-if="status == null && can('create', 'settings', 'newsletter_config')"
|
||||
type="submit"
|
||||
class="!p-0 !h-fit !w-fit"
|
||||
title="speichern"
|
||||
>
|
||||
<ArchiveBoxArrowDownIcon class="w-5 h-5 p-1 box-content pointer-events-none" />
|
||||
</button>
|
||||
<Spinner v-else-if="status == 'loading'" class="my-auto" />
|
||||
<SuccessCheckmark v-else-if="status?.status == 'success'" />
|
||||
<FailureXMark v-else-if="status?.status == 'failed'" />
|
||||
<button type="button" v-if="can('create','settings','newsletter_config')" class="!p-0 !h-fit !w-fit" title="zurücksetzen" @click="resetForm">
|
||||
<button
|
||||
type="button"
|
||||
v-if="can('create', 'settings', 'newsletter_config')"
|
||||
class="!p-0 !h-fit !w-fit"
|
||||
title="zurücksetzen"
|
||||
@click="resetForm"
|
||||
>
|
||||
<ArchiveBoxXMarkIcon class="w-5 h-5 p-1 box-content pointer-events-none" />
|
||||
</button>
|
||||
</div>
|
||||
|
@ -23,12 +34,21 @@
|
|||
<p class="min-w-16">Kopfzeile:</p>
|
||||
<select ref="header" id="header" :value="templateUsage.header?.id ?? 'def'">
|
||||
<option value="def">Standard-Vorlage verwenden</option>
|
||||
<option v-for="template in templates" :key="template.id" :value="template.id">{{ template.template }}</option>
|
||||
<option v-for="template in templates" :key="template.id" :value="template.id">
|
||||
{{ template.template }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex flex-row gap-2 items-center">
|
||||
<p class="whitespace-nowrap">Höhe [mm]:</p>
|
||||
<input id="headerHeight" type="number" :min="15" v-model="templateUsage.headerHeight" class="!w-24" placeholder="15">
|
||||
<input
|
||||
id="headerHeight"
|
||||
type="number"
|
||||
:min="15"
|
||||
v-model="templateUsage.headerHeight"
|
||||
class="!w-24"
|
||||
placeholder="15"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-row gap-2 items-center">
|
||||
|
@ -43,12 +63,21 @@
|
|||
<p class="min-w-16">Fußzeile:</p>
|
||||
<select ref="footer" id="footer" :value="templateUsage.footer?.id ?? 'def'">
|
||||
<option value="def">Standard-Vorlage verwenden</option>
|
||||
<option v-for="template in templates" :key="template.id" :value="template.id">{{ template.template }}</option>
|
||||
<option v-for="template in templates" :key="template.id" :value="template.id">
|
||||
{{ template.template }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="flex flex-row gap-2 items-center">
|
||||
<p class="whitespace-nowrap">Höhe [mm]:</p>
|
||||
<input id="footerHeight" type="number" :min="15" v-model="templateUsage.footerHeight" class="!w-24" placeholder="15">
|
||||
<input
|
||||
id="footerHeight"
|
||||
type="number"
|
||||
:min="15"
|
||||
v-model="templateUsage.footerHeight"
|
||||
class="!w-24"
|
||||
placeholder="15"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -59,9 +88,9 @@
|
|||
import { defineAsyncComponent, defineComponent, markRaw, type PropType } from "vue";
|
||||
import { mapState, mapActions } from "pinia";
|
||||
import { ArchiveBoxArrowDownIcon, ArchiveBoxXMarkIcon, EyeIcon } from "@heroicons/vue/24/outline";
|
||||
import type { TemplateUsageViewModel } from "@/viewmodels/admin/settings/templateUsage.models";
|
||||
import { useTemplateStore } from "@/stores/admin/settings/template";
|
||||
import { useTemplateUsageStore } from "@/stores/admin/settings/templateUsage";
|
||||
import type { TemplateUsageViewModel } from "@/viewmodels/admin/configuration/templateUsage.models";
|
||||
import { useTemplateStore } from "@/stores/admin/configuration/template";
|
||||
import { useTemplateUsageStore } from "@/stores/admin/configuration/templateUsage";
|
||||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
|
@ -94,9 +123,11 @@ export default defineComponent({
|
|||
...mapActions(useTemplateUsageStore, ["updateTemplateUsage"]),
|
||||
previewUsage() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/settings/templateUsage/TemplatePreviewModal.vue"))),
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/templateUsage/TemplatePreviewModal.vue"))
|
||||
),
|
||||
this.templateUsage.scope
|
||||
)
|
||||
);
|
||||
},
|
||||
updateUsage(e: any) {
|
||||
const fromData = e.target.elements;
|
||||
|
@ -106,14 +137,14 @@ export default defineComponent({
|
|||
const headerHeight = fromData.footer.value === "" ? null : parseInt(fromData.headerHeight.value);
|
||||
const footerHeight = fromData.footer.value === "" ? null : parseInt(fromData.footerHeight.value);
|
||||
|
||||
this.status = "loading"
|
||||
this.status = "loading";
|
||||
this.updateTemplateUsage({
|
||||
scope: this.templateUsage.scope,
|
||||
headerId: headerId,
|
||||
bodyId: bodyId,
|
||||
footerId: footerId,
|
||||
headerHeight:headerHeight,
|
||||
footerHeight: footerHeight
|
||||
headerHeight: headerHeight,
|
||||
footerHeight: footerHeight,
|
||||
})
|
||||
.then(() => {
|
||||
this.status = { status: "success" };
|
|
@ -20,7 +20,7 @@ import { mapState, mapActions } from "pinia";
|
|||
import { ArchiveBoxArrowDownIcon, ArrowDownTrayIcon, BarsArrowUpIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import { useBackupStore } from "../../../../stores/admin/user/backup";
|
||||
import { useBackupStore } from "../../../../stores/admin/management/backup";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -36,7 +36,7 @@ export default defineComponent({
|
|||
...mapActions(useBackupStore, ["fetchBackupById"]),
|
||||
openRestoreModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/user/backup/RestoreBackupModal.vue"))),
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/management/backup/RestoreBackupModal.vue"))),
|
||||
this.backup
|
||||
);
|
||||
},
|
|
@ -30,7 +30,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useBackupStore } from "@/stores/admin/user/backup";
|
||||
import { useBackupStore } from "@/stores/admin/management/backup";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -56,8 +56,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useBackupStore } from "@/stores/admin/user/backup";
|
||||
import type { BackupRestoreViewModel } from "../../../../viewmodels/admin/user/backup.models";
|
||||
import { useBackupStore } from "@/stores/admin/management/backup";
|
||||
import type { BackupRestoreViewModel } from "../../../../viewmodels/admin/management/backup.models";
|
||||
import { InformationCircleIcon } from "@heroicons/vue/24/outline";
|
||||
import { backupSections, type BackupSection } from "../../../../types/backupTypes";
|
||||
</script>
|
|
@ -51,7 +51,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useBackupStore } from "@/stores/admin/user/backup";
|
||||
import { useBackupStore } from "@/stores/admin/management/backup";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -34,7 +34,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,7 +31,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useRoleStore } from "@/stores/admin/user/role";
|
||||
import { useRoleStore } from "@/stores/admin/management/role";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -27,7 +27,7 @@
|
|||
import { defineComponent, defineAsyncComponent, markRaw, type PropType } from "vue";
|
||||
import { mapState, mapActions } from "pinia";
|
||||
import { PencilIcon, WrenchScrewdriverIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import type { RoleViewModel } from "@/viewmodels/admin/user/role.models";
|
||||
import type { RoleViewModel } from "@/viewmodels/admin/management/role.models";
|
||||
import { RouterLink } from "vue-router";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
|
@ -45,7 +45,7 @@ export default defineComponent({
|
|||
...mapActions(useModalStore, ["openModal"]),
|
||||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/user/role/DeleteRoleModal.vue"))),
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/management/role/DeleteRoleModal.vue"))),
|
||||
this.role.id
|
||||
);
|
||||
},
|
|
@ -31,7 +31,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useUserStore } from "@/stores/admin/user/user";
|
||||
import { useUserStore } from "@/stores/admin/management/user";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -24,10 +24,10 @@
|
|||
<script setup lang="ts">
|
||||
import { defineComponent, type PropType } from "vue";
|
||||
import { mapState, mapActions } from "pinia";
|
||||
import type { InviteViewModel } from "@/viewmodels/admin/user/invite.models";
|
||||
import type { InviteViewModel } from "@/viewmodels/admin/management/invite.models";
|
||||
import { PencilIcon, UserGroupIcon, WrenchScrewdriverIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useInviteStore } from "@/stores/admin/user/invite";
|
||||
import { useInviteStore } from "@/stores/admin/management/invite";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -47,8 +47,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useInviteStore } from "@/stores/admin/user/invite";
|
||||
import type { CreateInviteViewModel } from "@/viewmodels/admin/user/invite.models";
|
||||
import { useInviteStore } from "@/stores/admin/management/invite";
|
||||
import type { CreateInviteViewModel } from "@/viewmodels/admin/management/invite.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -57,7 +57,7 @@
|
|||
<script setup lang="ts">
|
||||
import { defineComponent, defineAsyncComponent, markRaw, type PropType } from "vue";
|
||||
import { mapState, mapActions } from "pinia";
|
||||
import type { UserViewModel } from "@/viewmodels/admin/user/user.models";
|
||||
import type { UserViewModel } from "@/viewmodels/admin/management/user.models";
|
||||
import { PencilIcon, UserGroupIcon, WrenchScrewdriverIcon, TrashIcon } from "@heroicons/vue/24/outline";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
|
@ -76,7 +76,7 @@ export default defineComponent({
|
|||
openDeleteModal() {
|
||||
if (this.user.isOwner) return;
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/user/user/DeleteUserModal.vue"))),
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/management/user/DeleteUserModal.vue"))),
|
||||
this.user.id
|
||||
);
|
||||
},
|
|
@ -38,8 +38,8 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useWebapiStore } from "@/stores/admin/user/webapi";
|
||||
import type { CreateWebapiViewModel } from "../../../../viewmodels/admin/user/webapi.models";
|
||||
import { useWebapiStore } from "@/stores/admin/management/webapi";
|
||||
import type { CreateWebapiViewModel } from "../../../../viewmodels/admin/management/webapi.models";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -31,7 +31,7 @@ import { useModalStore } from "@/stores/modal";
|
|||
import Spinner from "@/components/Spinner.vue";
|
||||
import SuccessCheckmark from "@/components/SuccessCheckmark.vue";
|
||||
import FailureXMark from "@/components/FailureXMark.vue";
|
||||
import { useWebapiStore } from "@/stores/admin/user/webapi";
|
||||
import { useWebapiStore } from "@/stores/admin/management/webapi";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -74,7 +74,7 @@
|
|||
import { defineComponent, defineAsyncComponent, markRaw, type PropType } from "vue";
|
||||
import { mapState, mapActions } from "pinia";
|
||||
import { PencilIcon, WrenchScrewdriverIcon, TrashIcon, FingerPrintIcon } from "@heroicons/vue/24/outline";
|
||||
import type { WebapiViewModel } from "@/viewmodels/admin/user/webapi.models";
|
||||
import type { WebapiViewModel } from "@/viewmodels/admin/management/webapi.models";
|
||||
import { RouterLink } from "vue-router";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
|
@ -92,13 +92,13 @@ export default defineComponent({
|
|||
...mapActions(useModalStore, ["openModal"]),
|
||||
openTokenViewModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/user/webapi/WebapiTokenModal.vue"))),
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/management/webapi/WebapiTokenModal.vue"))),
|
||||
this.webapi.id
|
||||
);
|
||||
},
|
||||
openDeleteModal() {
|
||||
this.openModal(
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/user/webapi/DeleteWebapiModal.vue"))),
|
||||
markRaw(defineAsyncComponent(() => import("@/components/admin/management/webapi/DeleteWebapiModal.vue"))),
|
||||
this.webapi.id
|
||||
);
|
||||
},
|
|
@ -21,14 +21,14 @@ import { defineComponent } from "vue";
|
|||
import { mapState, mapActions } from "pinia";
|
||||
import { RouterLink } from "vue-router";
|
||||
import { useModalStore } from "@/stores/modal";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/settings/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/settings/calendarType.models";
|
||||
import { useCalendarTypeStore } from "@/stores/admin/configuration/calendarType";
|
||||
import type { CalendarTypeViewModel } from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
import { Listbox, ListboxButton, ListboxOptions, ListboxOption, ListboxLabel } from "@headlessui/vue";
|
||||
import { CheckIcon, ChevronUpDownIcon } from "@heroicons/vue/20/solid";
|
||||
import TextCopy from "@/components/TextCopy.vue";
|
||||
import { CalendarDaysIcon, InformationCircleIcon } from "@heroicons/vue/24/outline";
|
||||
import { host } from "@/serverCom";
|
||||
import { useWebapiStore } from "../../../../stores/admin/user/webapi";
|
||||
import { useWebapiStore } from "../../../../stores/admin/management/webapi";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
|
@ -93,7 +93,7 @@ import { useQueryBuilderStore } from "@/stores/admin/club/queryBuilder";
|
|||
import { useModalStore } from "@/stores/modal";
|
||||
import Table from "./Table.vue";
|
||||
import { useAbilityStore } from "@/stores/ability";
|
||||
import { useQueryStoreStore } from "@/stores/admin/settings/queryStore";
|
||||
import { useQueryStoreStore } from "@/stores/admin/configuration/queryStore";
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { useBackupStore } from "../stores/admin/user/backup";
|
||||
import { useBackupStore } from "../stores/admin/management/backup";
|
||||
|
||||
export async function setBackupPage(to: any, from: any, next: any) {
|
||||
const backup = useBackupStore();
|
||||
|
|
|
@ -321,12 +321,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-qualification",
|
||||
component: () => import("@/views/admin/settings/qualification/Qualification.vue"),
|
||||
component: () => import("@/views/admin/configuration/qualification/Qualification.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-qualification-edit",
|
||||
component: () => import("@/views/admin/settings/qualification/QualificationEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/qualification/QualificationEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "qualification" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -343,12 +343,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-award",
|
||||
component: () => import("@/views/admin/settings/award/Award.vue"),
|
||||
component: () => import("@/views/admin/configuration/award/Award.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-award-edit",
|
||||
component: () => import("@/views/admin/settings/award/AwardEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/award/AwardEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "award" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -365,14 +365,14 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-executive_position",
|
||||
component: () => import("@/views/admin/settings/executivePosition/ExecutivePosition.vue"),
|
||||
component: () => import("@/views/admin/configuration/executivePosition/ExecutivePosition.vue"),
|
||||
meta: { type: "read", section: "settings", module: "executive_position" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-executive_position-edit",
|
||||
component: () => import("@/views/admin/settings/executivePosition/ExecutivePositionEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/executivePosition/ExecutivePositionEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "executive_position" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -389,12 +389,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-communication_type",
|
||||
component: () => import("@/views/admin/settings/communicationType/CommunicationType.vue"),
|
||||
component: () => import("@/views/admin/configuration/communicationType/CommunicationType.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-communication_type-edit",
|
||||
component: () => import("@/views/admin/settings/communicationType/CommunicationTypeEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/communicationType/CommunicationTypeEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "communication_type" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -411,12 +411,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-membership_status",
|
||||
component: () => import("@/views/admin/settings/membershipStatus/MembershipStatus.vue"),
|
||||
component: () => import("@/views/admin/configuration/membershipStatus/MembershipStatus.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-membership_status-edit",
|
||||
component: () => import("@/views/admin/settings/membershipStatus/MembershipStatusEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/membershipStatus/MembershipStatusEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "membership_status" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -433,12 +433,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-salutation",
|
||||
component: () => import("@/views/admin/settings/salutation/Salutation.vue"),
|
||||
component: () => import("@/views/admin/configuration/salutation/Salutation.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-salutation-edit",
|
||||
component: () => import("@/views/admin/settings/salutation/SalutationEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/salutation/SalutationEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "salutation" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -455,12 +455,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-calendar_type",
|
||||
component: () => import("@/views/admin/settings/calendarType/CalendarType.vue"),
|
||||
component: () => import("@/views/admin/configuration/calendarType/CalendarType.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-calendar_type-edit",
|
||||
component: () => import("@/views/admin/settings/calendarType/CalendarTypeEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/calendarType/CalendarTypeEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "calendar_type" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -470,7 +470,7 @@ const router = createRouter({
|
|||
{
|
||||
path: "query-store",
|
||||
name: "admin-settings-query_store",
|
||||
component: () => import("@/views/admin/settings/queryStore/QueryStore.vue"),
|
||||
component: () => import("@/views/admin/configuration/queryStore/QueryStore.vue"),
|
||||
meta: { type: "read", section: "settings", module: "query_store" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
},
|
||||
|
@ -484,18 +484,18 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-settings-template",
|
||||
component: () => import("@/views/admin/settings/template/Template.vue"),
|
||||
component: () => import("@/views/admin/configuration/template/Template.vue"),
|
||||
},
|
||||
{
|
||||
path: "info",
|
||||
name: "admin-settings-template-info",
|
||||
component: () => import("@/views/admin/settings/template/UsageInfo.vue"),
|
||||
component: () => import("@/views/admin/configuration/template/UsageInfo.vue"),
|
||||
props: true,
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-settings-template-edit",
|
||||
component: () => import("@/views/admin/settings/template/TemplateEdit.vue"),
|
||||
component: () => import("@/views/admin/configuration/template/TemplateEdit.vue"),
|
||||
meta: { type: "update", section: "settings", module: "template" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -505,14 +505,14 @@ const router = createRouter({
|
|||
{
|
||||
path: "template-usage",
|
||||
name: "admin-settings-template_usage",
|
||||
component: () => import("@/views/admin/settings/templateUsage/TemplateUsage.vue"),
|
||||
component: () => import("@/views/admin/configuration/templateUsage/TemplateUsage.vue"),
|
||||
meta: { type: "read", section: "settings", module: "template_usage" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
},
|
||||
{
|
||||
path: "newsletter-config",
|
||||
name: "admin-settings-newsletter_config",
|
||||
component: () => import("@/views/admin/settings/newsletterConfig/NewsletterConfig.vue"),
|
||||
component: () => import("@/views/admin/configuration/newsletterConfig/NewsletterConfig.vue"),
|
||||
meta: { type: "read", section: "settings", module: "newsletter_config" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
},
|
||||
|
@ -542,17 +542,17 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-user-user",
|
||||
component: () => import("@/views/admin/user/user/User.vue"),
|
||||
component: () => import("@/views/admin/management/user/User.vue"),
|
||||
},
|
||||
{
|
||||
path: "invites",
|
||||
name: "admin-user-user-invites",
|
||||
component: () => import("@/views/admin/user/user/Invite.vue"),
|
||||
component: () => import("@/views/admin/management/user/Invite.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-user-user-edit",
|
||||
component: () => import("@/views/admin/user/user/UserEdit.vue"),
|
||||
component: () => import("@/views/admin/management/user/UserEdit.vue"),
|
||||
meta: { type: "update", section: "user", module: "user" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -560,7 +560,7 @@ const router = createRouter({
|
|||
{
|
||||
path: ":id/permission",
|
||||
name: "admin-user-user-permission",
|
||||
component: () => import("@/views/admin/user/user/UserEditPermission.vue"),
|
||||
component: () => import("@/views/admin/management/user/UserEditPermission.vue"),
|
||||
meta: { type: "update", section: "user", module: "user" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -568,7 +568,7 @@ const router = createRouter({
|
|||
{
|
||||
path: ":id/roles",
|
||||
name: "admin-user-user-roles",
|
||||
component: () => import("@/views/admin/user/user/UserEditRoles.vue"),
|
||||
component: () => import("@/views/admin/management/user/UserEditRoles.vue"),
|
||||
meta: { type: "update", section: "user", module: "user" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -585,12 +585,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-user-role",
|
||||
component: () => import("@/views/admin/user/role/Role.vue"),
|
||||
component: () => import("@/views/admin/management/role/Role.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-user-role-edit",
|
||||
component: () => import("@/views/admin/user/role/RoleEdit.vue"),
|
||||
component: () => import("@/views/admin/management/role/RoleEdit.vue"),
|
||||
meta: { type: "update", section: "user", module: "role" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -598,7 +598,7 @@ const router = createRouter({
|
|||
{
|
||||
path: ":id/permission",
|
||||
name: "admin-user-role-permission",
|
||||
component: () => import("@/views/admin/user/role/RoleEditPermission.vue"),
|
||||
component: () => import("@/views/admin/management/role/RoleEditPermission.vue"),
|
||||
meta: { type: "update", section: "user", module: "role" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -615,12 +615,12 @@ const router = createRouter({
|
|||
{
|
||||
path: "",
|
||||
name: "admin-user-webapi",
|
||||
component: () => import("@/views/admin/user/webapi/Webapi.vue"),
|
||||
component: () => import("@/views/admin/management/webapi/Webapi.vue"),
|
||||
},
|
||||
{
|
||||
path: ":id/edit",
|
||||
name: "admin-user-webapi-edit",
|
||||
component: () => import("@/views/admin/user/webapi/WebapiEdit.vue"),
|
||||
component: () => import("@/views/admin/management/webapi/WebapiEdit.vue"),
|
||||
meta: { type: "update", section: "user", module: "webapi" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -628,7 +628,7 @@ const router = createRouter({
|
|||
{
|
||||
path: ":id/permission",
|
||||
name: "admin-user-webapi-permission",
|
||||
component: () => import("@/views/admin/user/webapi/WebapiEditPermission.vue"),
|
||||
component: () => import("@/views/admin/management/webapi/WebapiEditPermission.vue"),
|
||||
meta: { type: "update", section: "user", module: "webapi" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
props: true,
|
||||
|
@ -638,7 +638,7 @@ const router = createRouter({
|
|||
{
|
||||
path: "backup",
|
||||
name: "admin-user-backup-route",
|
||||
component: () => import("@/views/admin/user/backup/BackupRouting.vue"),
|
||||
component: () => import("@/views/admin/management/backup/BackupRouting.vue"),
|
||||
meta: { type: "read", section: "user", module: "backup" },
|
||||
beforeEnter: [abilityAndNavUpdate],
|
||||
children: [
|
||||
|
@ -650,13 +650,13 @@ const router = createRouter({
|
|||
{
|
||||
path: "generated",
|
||||
name: "admin-user-backup-generated",
|
||||
component: () => import("@/views/admin/user/backup/GeneratedBackup.vue"),
|
||||
component: () => import("@/views/admin/management/backup/GeneratedBackup.vue"),
|
||||
beforeEnter: [setBackupPage],
|
||||
},
|
||||
{
|
||||
path: "uploads",
|
||||
name: "admin-user-backup-uploaded",
|
||||
component: () => import("@/views/admin/user/backup/UploadedBackup.vue"),
|
||||
component: () => import("@/views/admin/management/backup/UploadedBackup.vue"),
|
||||
beforeEnter: [setBackupPage],
|
||||
},
|
||||
],
|
||||
|
@ -664,7 +664,7 @@ const router = createRouter({
|
|||
{
|
||||
path: "version",
|
||||
name: "admin-user-version",
|
||||
component: () => import("@/views/admin/user/version/VersionDisplay.vue"),
|
||||
component: () => import("@/views/admin/management/version/VersionDisplay.vue"),
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { http } from "@/serverCom";
|
||||
import type { TableMeta } from "@/viewmodels/admin/settings/query.models";
|
||||
import type { TableMeta } from "@/viewmodels/admin/configuration/query.models";
|
||||
import type { DynamicQueryStructure, FieldType } from "@/types/dynamicQueries";
|
||||
|
||||
export const useQueryBuilderStore = defineStore("queryBuilder", {
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
import { defineStore } from "pinia";
|
||||
import type { CreateAwardViewModel, UpdateAwardViewModel, AwardViewModel } from "@/viewmodels/admin/settings/award.models";
|
||||
import type {
|
||||
CreateAwardViewModel,
|
||||
UpdateAwardViewModel,
|
||||
AwardViewModel,
|
||||
} from "@/viewmodels/admin/configuration/award.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateCalendarTypeViewModel,
|
||||
UpdateCalendarTypeViewModel,
|
||||
CalendarTypeViewModel,
|
||||
} from "@/viewmodels/admin/settings/calendarType.models";
|
||||
} from "@/viewmodels/admin/configuration/calendarType.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateCommunicationTypeViewModel,
|
||||
UpdateCommunicationTypeViewModel,
|
||||
CommunicationTypeViewModel,
|
||||
} from "@/viewmodels/admin/settings/communicationType.models";
|
||||
} from "@/viewmodels/admin/configuration/communicationType.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
import type { CommunicationFieldType } from "@/types/fieldTypes";
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateExecutivePositionViewModel,
|
||||
UpdateExecutivePositionViewModel,
|
||||
ExecutivePositionViewModel,
|
||||
} from "@/viewmodels/admin/settings/executivePosition.models";
|
||||
} from "@/viewmodels/admin/configuration/executivePosition.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateMembershipStatusViewModel,
|
||||
UpdateMembershipStatusViewModel,
|
||||
MembershipStatusViewModel,
|
||||
} from "@/viewmodels/admin/settings/membershipStatus.models";
|
||||
} from "@/viewmodels/admin/configuration/membershipStatus.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -2,7 +2,7 @@ import { defineStore } from "pinia";
|
|||
import type {
|
||||
SetNewsletterConfigViewModel,
|
||||
NewsletterConfigViewModel,
|
||||
} from "@/viewmodels/admin/settings/newsletterConfig.models";
|
||||
} from "@/viewmodels/admin/configuration/newsletterConfig.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateQualificationViewModel,
|
||||
UpdateQualificationViewModel,
|
||||
QualificationViewModel,
|
||||
} from "@/viewmodels/admin/settings/qualification.models";
|
||||
} from "@/viewmodels/admin/configuration/qualification.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -1,5 +1,9 @@
|
|||
import { defineStore } from "pinia";
|
||||
import type { CreateQueryViewModel, QueryViewModel, UpdateQueryViewModel } from "@/viewmodels/admin/settings/query.models";
|
||||
import type {
|
||||
CreateQueryViewModel,
|
||||
QueryViewModel,
|
||||
UpdateQueryViewModel,
|
||||
} from "@/viewmodels/admin/configuration/query.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
import { useQueryBuilderStore } from "../club/queryBuilder";
|
||||
|
@ -37,14 +41,14 @@ export const useQueryStoreStore = defineStore("queryStore", {
|
|||
if (queryBuilderStore.activeQueryId != undefined && abilityStore.can("update", "settings", "query_store")) {
|
||||
modalStore.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/settings/queryStore/UpdateQueryStoreModal.vue"))
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/queryStore/UpdateQueryStoreModal.vue"))
|
||||
),
|
||||
queryBuilderStore.activeQueryId
|
||||
);
|
||||
} else {
|
||||
modalStore.openModal(
|
||||
markRaw(
|
||||
defineAsyncComponent(() => import("@/components/admin/settings/queryStore/CreateQueryStoreModal.vue"))
|
||||
defineAsyncComponent(() => import("@/components/admin/configuration/queryStore/CreateQueryStoreModal.vue"))
|
||||
)
|
||||
);
|
||||
}
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateSalutationViewModel,
|
||||
UpdateSalutationViewModel,
|
||||
SalutationViewModel,
|
||||
} from "@/viewmodels/admin/settings/salutation.models";
|
||||
} from "@/viewmodels/admin/configuration/salutation.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
|
|
@ -5,7 +5,7 @@ import type {
|
|||
CreateTemplateViewModel,
|
||||
TemplateViewModel,
|
||||
UpdateTemplateViewModel,
|
||||
} from "@/viewmodels/admin/settings/template.models";
|
||||
} from "@/viewmodels/admin/configuration/template.models";
|
||||
|
||||
export const useTemplateStore = defineStore("template", {
|
||||
state: () => {
|
|
@ -1,8 +1,14 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse } from "axios";
|
||||
import type { CreateTemplateViewModel, UpdateTemplateViewModel } from "@/viewmodels/admin/settings/template.models";
|
||||
import type { TemplateUsageViewModel, UpdateTemplateUsageViewModel } from "@/viewmodels/admin/settings/templateUsage.models";
|
||||
import type {
|
||||
CreateTemplateViewModel,
|
||||
UpdateTemplateViewModel,
|
||||
} from "@/viewmodels/admin/configuration/template.models";
|
||||
import type {
|
||||
TemplateUsageViewModel,
|
||||
UpdateTemplateUsageViewModel,
|
||||
} from "@/viewmodels/admin/configuration/templateUsage.models";
|
||||
import type { PermissionModule } from "@/types/permissionTypes";
|
||||
|
||||
export const useTemplateUsageStore = defineStore("templateUsage", {
|
|
@ -1,7 +1,7 @@
|
|||
import { defineStore } from "pinia";
|
||||
import { http } from "@/serverCom";
|
||||
import type { AxiosResponse, AxiosProgressEvent } from "axios";
|
||||
import type { BackupRestoreViewModel } from "../../../viewmodels/admin/user/backup.models";
|
||||
import type { BackupRestoreViewModel } from "../../../viewmodels/admin/management/backup.models";
|
||||
|
||||
export const useBackupStore = defineStore("backup", {
|
||||
state: () => {
|
|
@ -1,5 +1,5 @@
|
|||
import { defineStore } from "pinia";
|
||||
import type { CreateInviteViewModel, InviteViewModel } from "@/viewmodels/admin/user/invite.models";
|
||||
import type { CreateInviteViewModel, InviteViewModel } from "@/viewmodels/admin/management/invite.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { PermissionObject } from "@/types/permissionTypes";
|
||||
import type { AxiosResponse } from "axios";
|
|
@ -1,5 +1,5 @@
|
|||
import { defineStore } from "pinia";
|
||||
import type { RoleViewModel } from "@/viewmodels/admin/user/role.models";
|
||||
import type { RoleViewModel } from "@/viewmodels/admin/management/role.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { PermissionObject } from "@/types/permissionTypes";
|
||||
import type { AxiosResponse } from "axios";
|
|
@ -1,5 +1,5 @@
|
|||
import { defineStore } from "pinia";
|
||||
import type { UpdateUserViewModel, UserViewModel } from "@/viewmodels/admin/user/user.models";
|
||||
import type { UpdateUserViewModel, UserViewModel } from "@/viewmodels/admin/management/user.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { PermissionObject } from "@/types/permissionTypes";
|
||||
import type { AxiosResponse } from "axios";
|
|
@ -3,7 +3,7 @@ import type {
|
|||
CreateWebapiViewModel,
|
||||
UpdateWebapiViewModel,
|
||||
WebapiViewModel,
|
||||
} from "@/viewmodels/admin/user/webapi.models";
|
||||
} from "@/viewmodels/admin/management/webapi.models";
|
||||
import { http } from "@/serverCom";
|
||||
import type { PermissionObject } from "@/types/permissionTypes";
|
||||
import type { AxiosResponse } from "axios";
|
|
@ -1,4 +1,4 @@
|
|||
import type { CalendarTypeViewModel } from "../settings/calendarType.models";
|
||||
import type { CalendarTypeViewModel } from "../configuration/calendarType.models";
|
||||
|
||||
export interface CalendarViewModel {
|
||||
id: string;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import type { CommunicationTypeViewModel } from "../../settings/communicationType.models";
|
||||
import type { CommunicationTypeViewModel } from "../../configuration/communicationType.models";
|
||||
|
||||
export interface CommunicationViewModel {
|
||||
id: number;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import type { CommunicationViewModel } from "./communication.models";
|
||||
import type { MembershipViewModel } from "./membership.models";
|
||||
import type { SalutationViewModel } from "../../settings/salutation.models";
|
||||
import type { SalutationViewModel } from "../../configuration/salutation.models";
|
||||
|
||||
export interface MemberViewModel {
|
||||
id: string;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import type { QueryViewModel } from "../../settings/query.models";
|
||||
import type { QueryViewModel } from "../../configuration/query.models";
|
||||
|
||||
export interface NewsletterViewModel {
|
||||
id: number;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue