1
0

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:
kolaente 2024-06-17 15:49:28 +02:00
parent 06c3a64594
commit 657e9a5413
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B
2 changed files with 16 additions and 3 deletions

View File

@ -296,11 +296,21 @@ useIntervalFn(updateDueDate, 60_000, {
})
onMounted(updateDueDate)
let oldTask
async function markAsDone(checked: boolean) {
async function markAsDone(checked: boolean, wasReverted: boolean = false) {
const updateFunc = async () => {
oldTask = {...task.value}
const newTask = await taskStore.update(task.value)
task.value = newTask
updateDueDate()
if (wasReverted) {
success({message: t('task.revertSuccess')})
return
}
if (checked && useAuthStore().settings.frontendSettings.playSoundWhenDone) {
playPopSound()
}
@ -315,7 +325,6 @@ async function markAsDone(checked: boolean) {
title: t('task.undo'),
callback: () => undoDone(checked),
}])
updateDueDate()
}
if (checked) {
@ -326,8 +335,11 @@ async function markAsDone(checked: boolean) {
}
function undoDone(checked: boolean) {
if (isRepeating.value) {
task.value = {...oldTask}
}
task.value.done = !task.value.done
markAsDone(!checked)
markAsDone(!checked, true)
}
async function toggleFavorite() {

View File

@ -733,6 +733,7 @@
"addReminder": "Add a reminder…",
"doneSuccess": "The task was successfully marked as done.",
"undoneSuccess": "The task was successfully un-marked as done.",
"revertSuccess": "The task change was successfully undone.",
"undo": "Undo",
"openDetail": "Open task detail view",
"checklistTotal": "{checked} of {total} tasks",