fix(task): do not move task dates when undoing a repeated task
Resolves https://community.vikunja.io/t/undo-on-repeated-task-moves-dates-forward/970
This commit is contained in:
parent
06c3a64594
commit
657e9a5413
@ -296,11 +296,21 @@ useIntervalFn(updateDueDate, 60_000, {
|
|||||||
})
|
})
|
||||||
onMounted(updateDueDate)
|
onMounted(updateDueDate)
|
||||||
|
|
||||||
|
let oldTask
|
||||||
|
|
||||||
async function markAsDone(checked: boolean) {
|
async function markAsDone(checked: boolean, wasReverted: boolean = false) {
|
||||||
const updateFunc = async () => {
|
const updateFunc = async () => {
|
||||||
|
oldTask = {...task.value}
|
||||||
const newTask = await taskStore.update(task.value)
|
const newTask = await taskStore.update(task.value)
|
||||||
task.value = newTask
|
task.value = newTask
|
||||||
|
|
||||||
|
updateDueDate()
|
||||||
|
|
||||||
|
if (wasReverted) {
|
||||||
|
success({message: t('task.revertSuccess')})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (checked && useAuthStore().settings.frontendSettings.playSoundWhenDone) {
|
if (checked && useAuthStore().settings.frontendSettings.playSoundWhenDone) {
|
||||||
playPopSound()
|
playPopSound()
|
||||||
}
|
}
|
||||||
@ -315,7 +325,6 @@ async function markAsDone(checked: boolean) {
|
|||||||
title: t('task.undo'),
|
title: t('task.undo'),
|
||||||
callback: () => undoDone(checked),
|
callback: () => undoDone(checked),
|
||||||
}])
|
}])
|
||||||
updateDueDate()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (checked) {
|
if (checked) {
|
||||||
@ -326,8 +335,11 @@ async function markAsDone(checked: boolean) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function undoDone(checked: boolean) {
|
function undoDone(checked: boolean) {
|
||||||
|
if (isRepeating.value) {
|
||||||
|
task.value = {...oldTask}
|
||||||
|
}
|
||||||
task.value.done = !task.value.done
|
task.value.done = !task.value.done
|
||||||
markAsDone(!checked)
|
markAsDone(!checked, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function toggleFavorite() {
|
async function toggleFavorite() {
|
||||||
|
@ -733,6 +733,7 @@
|
|||||||
"addReminder": "Add a reminder…",
|
"addReminder": "Add a reminder…",
|
||||||
"doneSuccess": "The task was successfully marked as done.",
|
"doneSuccess": "The task was successfully marked as done.",
|
||||||
"undoneSuccess": "The task was successfully un-marked as done.",
|
"undoneSuccess": "The task was successfully un-marked as done.",
|
||||||
|
"revertSuccess": "The task change was successfully undone.",
|
||||||
"undo": "Undo",
|
"undo": "Undo",
|
||||||
"openDetail": "Open task detail view",
|
"openDetail": "Open task detail view",
|
||||||
"checklistTotal": "{checked} of {total} tasks",
|
"checklistTotal": "{checked} of {total} tasks",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user