Fix local recursive subtask migration

pull/1074/head
Alex Baker 5 years ago
parent 4cd6e081f5
commit 05493640d9

@ -156,10 +156,11 @@ class TaskMover @Inject constructor(
val listId = selected.uuid
val tasks: MutableMap<Long, CaldavTask> = HashMap()
val root = CaldavTask(id, listId)
for (child in taskDao.fetchChildren(task.id)) {
val children = taskDao.getChildren(id).mapNotNull { taskDao.fetch(it) }
for (child in children) {
val newTask = CaldavTask(child.id, listId)
val parent = child.parent
newTask.remoteParent = (if (parent == id) root else tasks[parent])?.remoteId
newTask.remoteParent = (if (parent == id) root else tasks[parent])!!.remoteId
tasks[child.id] = newTask
}
caldavDao.insert(task, root, preferences.addTasksToTop())

@ -154,10 +154,6 @@ SELECT EXISTS(SELECT 1 FROM tasks WHERE parent > 0 AND deleted = 0) AS hasSubtas
@Query("UPDATE tasks SET lastNotified = :timestamp WHERE _id = :id AND lastNotified != :timestamp")
abstract suspend fun setLastNotified(id: Long, timestamp: Long): Int
open suspend fun fetchChildren(id: Long): List<Task> {
return fetch(getChildren(id))
}
suspend fun getChildren(id: Long): List<Long> {
return getChildren(listOf(id))
}

Loading…
Cancel
Save