Completed subtasks at bottom

pull/3385/head
Alex Baker 9 months ago
parent b411441ba9
commit bfea931495

@ -7,7 +7,6 @@ import org.tasks.data.db.Table
import org.tasks.data.entity.CaldavTask import org.tasks.data.entity.CaldavTask
import org.tasks.data.entity.Task import org.tasks.data.entity.Task
import org.tasks.data.sql.Criterion import org.tasks.data.sql.Criterion
import org.tasks.data.sql.Field.Companion.field
import org.tasks.data.sql.Join import org.tasks.data.sql.Join
import org.tasks.data.sql.QueryTemplate import org.tasks.data.sql.QueryTemplate
import org.tasks.filters.CaldavFilter import org.tasks.filters.CaldavFilter
@ -16,7 +15,6 @@ import org.tasks.preferences.QueryPreferences
internal object TaskListQueryRecursive { internal object TaskListQueryRecursive {
private val RECURSIVE = Table("recursive_tasks") private val RECURSIVE = Table("recursive_tasks")
private val RECURSIVE_TASK = field("$RECURSIVE.task")
fun getRecursiveQuery( fun getRecursiveQuery(
filter: Filter, filter: Filter,
@ -63,7 +61,6 @@ internal object TaskListQueryRecursive {
SELECT SELECT
tasks._id AS task, tasks._id AS task,
$parentCompleted AS parent_complete, $parentCompleted AS parent_complete,
0 AS subtask_complete,
$completionSort AS completion_sort, $completionSort AS completion_sort,
0 AS parent, 0 AS parent,
tasks.collapsed AS collapsed, tasks.collapsed AS collapsed,
@ -89,13 +86,15 @@ internal object TaskListQueryRecursive {
$parentQuery $parentQuery
UNION ALL SELECT UNION ALL SELECT
tasks._id AS task, tasks._id AS task,
recursive_tasks.parent_complete AS parent_complete, $parentCompleted AS parent_complete,
$parentCompleted AS subtask_complete,
$completionSort AS completion_sort, $completionSort AS completion_sort,
recursive_tasks.task AS parent, recursive_tasks.task AS parent,
tasks.collapsed AS collapsed, tasks.collapsed AS collapsed,
CASE WHEN recursive_tasks.collapsed > 0 OR recursive_tasks.hidden > 0 THEN 1 ELSE 0 END AS hidden, CASE WHEN recursive_tasks.collapsed > 0 OR recursive_tasks.hidden > 0 THEN 1 ELSE 0 END AS hidden,
recursive_tasks.indent+1 AS indent, CASE
WHEN $parentCompleted AND recursive_tasks.parent_complete = 0 THEN 0
ELSE recursive_tasks.indent + 1
END AS indent,
UPPER(tasks.title) AS sort_title, UPPER(tasks.title) AS sort_title,
recursive_tasks.primary_group AS primary_group, recursive_tasks.primary_group AS primary_group,
recursive_tasks.primary_sort AS primary_sort, recursive_tasks.primary_sort AS primary_sort,
@ -110,7 +109,6 @@ internal object TaskListQueryRecursive {
ORDER BY ORDER BY
parent_complete, parent_complete,
indent DESC, indent DESC,
subtask_complete,
completion_sort ${if (preferences.completedAscending) "" else "DESC"}, completion_sort ${if (preferences.completedAscending) "" else "DESC"},
${SortHelper.orderForGroupTypeRecursive(groupMode, groupAscending)}, ${SortHelper.orderForGroupTypeRecursive(groupMode, groupAscending)},
${SortHelper.orderForSortTypeRecursive(sortMode, sortAscending, subtaskMode, subtaskAscending)} ${SortHelper.orderForSortTypeRecursive(sortMode, sortAscending, subtaskMode, subtaskAscending)}
@ -129,6 +127,7 @@ internal object TaskListQueryRecursive {
WHERE WHERE
parent > 0 parent > 0
AND indent = max_indent AND indent = max_indent
AND indent > 0
GROUP BY parent GROUP BY parent
) )
SELECT SELECT

Loading…
Cancel
Save