KI-AGENT: Termin- und Aufgabenaktionen in Phasen repariert
This commit is contained in:
@@ -96,6 +96,26 @@ const togglePhasePanel = (phase) => {
|
|||||||
openPhaseKey.value = openPhaseKey.value === phase.key ? null : phase.key
|
openPhaseKey.value = openPhaseKey.value === phase.key ? null : phase.key
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getQuickActionTarget = (link) => {
|
||||||
|
const [configuredPath, configuredQuery = ""] = String(link || "").split("?")
|
||||||
|
const query = Object.fromEntries(new URLSearchParams(configuredQuery))
|
||||||
|
let path = configuredPath
|
||||||
|
|
||||||
|
// Bereits gespeicherte Phasenvorlagen können noch die alten Routen enthalten.
|
||||||
|
if (configuredPath === "/tasks/create") {
|
||||||
|
path = "/tasks"
|
||||||
|
query.mode = "create"
|
||||||
|
} else if (configuredPath === "/events/edit") {
|
||||||
|
path = "/standardEntity/events/create"
|
||||||
|
}
|
||||||
|
|
||||||
|
new URLSearchParams(props.queryStringData || "").forEach((value, key) => {
|
||||||
|
query[key] = value
|
||||||
|
})
|
||||||
|
|
||||||
|
return { path, query }
|
||||||
|
}
|
||||||
|
|
||||||
const changeActivePhase = async (key) => {
|
const changeActivePhase = async (key) => {
|
||||||
console.log(props.item)
|
console.log(props.item)
|
||||||
let item = await useEntities("projects").selectSingle(props.item.id,'*')
|
let item = await useEntities("projects").selectSingle(props.item.id,'*')
|
||||||
@@ -175,7 +195,7 @@ const changeActivePhase = async (key) => {
|
|||||||
<UButton
|
<UButton
|
||||||
v-if="item.active"
|
v-if="item.active"
|
||||||
v-for="button in item.quickactions"
|
v-for="button in item.quickactions"
|
||||||
@click="router.push(`${button.link}&${props.queryStringData}`)"
|
@click="router.push(getQuickActionTarget(button.link))"
|
||||||
>
|
>
|
||||||
{{button.label}}
|
{{button.label}}
|
||||||
</UButton>
|
</UButton>
|
||||||
|
|||||||
@@ -279,10 +279,10 @@ const addPhase = () => {
|
|||||||
@click="itemInfo.initialPhases[itemInfo.initialPhases.findIndex(i=> i.key === selectedKeyForQuickAction)].quickactions.push({label:'+ Rechnung',link:'/createDocument/edit/?type=invoices'})">Rechnung Erstellen</UButton>
|
@click="itemInfo.initialPhases[itemInfo.initialPhases.findIndex(i=> i.key === selectedKeyForQuickAction)].quickactions.push({label:'+ Rechnung',link:'/createDocument/edit/?type=invoices'})">Rechnung Erstellen</UButton>
|
||||||
<UButton
|
<UButton
|
||||||
class="my-1"
|
class="my-1"
|
||||||
@click="itemInfo.initialPhases[itemInfo.initialPhases.findIndex(i=> i.key === selectedKeyForQuickAction)].quickactions.push({label:'+ Aufgabe',link:'/tasks/create'})">Aufgabe Erstellen</UButton>
|
@click="itemInfo.initialPhases[itemInfo.initialPhases.findIndex(i=> i.key === selectedKeyForQuickAction)].quickactions.push({label:'+ Aufgabe',link:'/tasks?mode=create'})">Aufgabe Erstellen</UButton>
|
||||||
<UButton
|
<UButton
|
||||||
class="my-1"
|
class="my-1"
|
||||||
@click="itemInfo.initialPhases[itemInfo.initialPhases.findIndex(i=> i.key === selectedKeyForQuickAction)].quickactions.push({label:'+ Termin',link:'/events/edit'})">Termin Erstellen</UButton>
|
@click="itemInfo.initialPhases[itemInfo.initialPhases.findIndex(i=> i.key === selectedKeyForQuickAction)].quickactions.push({label:'+ Termin',link:'/standardEntity/events/create'})">Termin Erstellen</UButton>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user