KI-AGENT: Leite Termine nach dem Speichern zurück zur Plantafel
This commit is contained in:
@@ -378,6 +378,21 @@ const getEntityModalCreateQuery = (datapoint) => {
|
|||||||
return datapoint.entityModalCreateQuery || {}
|
return datapoint.entityModalCreateQuery || {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getPostSaveRoute = () => {
|
||||||
|
if (type !== "events") return null
|
||||||
|
|
||||||
|
if (route.query.returnTo === "plantafel") {
|
||||||
|
return {
|
||||||
|
path: "/organisation/plantafel",
|
||||||
|
query: {
|
||||||
|
date: route.query.returnDate || undefined,
|
||||||
|
view: route.query.returnView || undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
const createItem = async () => {
|
const createItem = async () => {
|
||||||
let ret = null
|
let ret = null
|
||||||
@@ -386,7 +401,14 @@ const createItem = async () => {
|
|||||||
ret = await useEntities(type).create(item.value, true)
|
ret = await useEntities(type).create(item.value, true)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ret = await useEntities(type).create(item.value)//dataStore.createNewItem(type,item.value)
|
const postSaveRoute = getPostSaveRoute()
|
||||||
|
|
||||||
|
if (postSaveRoute) {
|
||||||
|
ret = await useEntities(type).create(item.value, true)
|
||||||
|
await router.push(postSaveRoute)
|
||||||
|
} else {
|
||||||
|
ret = await useEntities(type).create(item.value)//dataStore.createNewItem(type,item.value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
emit('returnData', ret)
|
emit('returnData', ret)
|
||||||
@@ -401,7 +423,14 @@ const updateItem = async () => {
|
|||||||
emit('returnData', ret)
|
emit('returnData', ret)
|
||||||
modal.close()
|
modal.close()
|
||||||
} else {
|
} else {
|
||||||
ret = await useEntities(type).update(item.value.id, item.value)
|
const postSaveRoute = getPostSaveRoute()
|
||||||
|
|
||||||
|
if (postSaveRoute) {
|
||||||
|
ret = await useEntities(type).update(item.value.id, item.value, true)
|
||||||
|
await router.push(postSaveRoute)
|
||||||
|
} else {
|
||||||
|
ret = await useEntities(type).update(item.value.id, item.value)
|
||||||
|
}
|
||||||
emit('returnData', ret)
|
emit('returnData', ret)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { useDraggable } from "@vueuse/core"
|
|||||||
import { expandRecurringEvent } from "~/utils/eventRecurrence"
|
import { expandRecurringEvent } from "~/utils/eventRecurrence"
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
const route = useRoute()
|
||||||
const auth = useAuthStore()
|
const auth = useAuthStore()
|
||||||
const profileStore = useProfileStore()
|
const profileStore = useProfileStore()
|
||||||
const toast = useToast()
|
const toast = useToast()
|
||||||
@@ -15,12 +16,16 @@ const { $api, $dayjs } = useNuxtApp()
|
|||||||
const { create: createEvent } = useEntities("events")
|
const { create: createEvent } = useEntities("events")
|
||||||
const { list: listStaffTimeSpans, createEntry, update: updateStaffTimeEntry } = useStaffTime()
|
const { list: listStaffTimeSpans, createEntry, update: updateStaffTimeEntry } = useStaffTime()
|
||||||
|
|
||||||
|
const allowedCalendarViews = ["resourceTimelineDay", "resourceTimelineWeek", "resourceTimelineMonth"]
|
||||||
|
const initialRouteDate = /^\d{4}-\d{2}-\d{2}$/.test(String(route.query.date || "")) ? String(route.query.date) : null
|
||||||
|
const initialRouteView = allowedCalendarViews.includes(String(route.query.view || "")) ? String(route.query.view) : null
|
||||||
|
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
const savingAbsence = ref(false)
|
const savingAbsence = ref(false)
|
||||||
const selectedType = ref("all")
|
const selectedType = ref("all")
|
||||||
const calendarRef = ref(null)
|
const calendarRef = ref(null)
|
||||||
const calendarView = ref("resourceTimelineWeek")
|
const calendarView = ref(initialRouteView || "resourceTimelineWeek")
|
||||||
const calendarCurrentDate = ref($dayjs().format("YYYY-MM-DD"))
|
const calendarCurrentDate = ref(initialRouteDate || $dayjs().format("YYYY-MM-DD"))
|
||||||
const calendarTitle = ref("")
|
const calendarTitle = ref("")
|
||||||
const visibleRange = ref({
|
const visibleRange = ref({
|
||||||
from: $dayjs().startOf("month").format("YYYY-MM-DD"),
|
from: $dayjs().startOf("month").format("YYYY-MM-DD"),
|
||||||
@@ -370,7 +375,14 @@ const calendarOptions = computed(() => ({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
router.push(`/standardEntity/events/edit/${info.event.extendedProps.eventId}`)
|
router.push({
|
||||||
|
path: `/standardEntity/events/edit/${info.event.extendedProps.eventId}`,
|
||||||
|
query: {
|
||||||
|
returnTo: "plantafel",
|
||||||
|
returnDate: calendarCurrentDate.value,
|
||||||
|
returnView: calendarView.value
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
datesSet(info) {
|
datesSet(info) {
|
||||||
const nextFrom = $dayjs(info.start).format("YYYY-MM-DD")
|
const nextFrom = $dayjs(info.start).format("YYYY-MM-DD")
|
||||||
|
|||||||
Reference in New Issue
Block a user