|
|
|
|
@ -54,13 +54,16 @@ public class GtasksFilter extends Filter {
|
|
|
|
|
query.replace(
|
|
|
|
|
"WHERE",
|
|
|
|
|
"JOIN (SELECT 0 as indent, google_tasks.*, COUNT(c.gt_id) AS children, 0 AS siblings, google_tasks.gt_order AS primary_sort, NULL AS secondary_sort"
|
|
|
|
|
+ " FROM google_tasks LEFT JOIN google_tasks AS c ON c.gt_parent = google_tasks.gt_task"
|
|
|
|
|
+ " FROM google_tasks"
|
|
|
|
|
+ " LEFT JOIN google_tasks AS c ON c.gt_parent = google_tasks.gt_task"
|
|
|
|
|
+ " WHERE google_tasks.gt_parent = 0 GROUP BY google_tasks.gt_task"
|
|
|
|
|
+ " UNION SELECT 1 as indent, c.*, 0 AS children, COUNT(s.gt_id) AS siblings, p.gt_order AS primary_sort, c.gt_order AS secondary_sort"
|
|
|
|
|
+ " FROM google_tasks AS c LEFT JOIN google_tasks AS p ON c.gt_parent = p.gt_task"
|
|
|
|
|
+ " LEFT JOIN tasks ON c.gt_parent = tasks._id"
|
|
|
|
|
+ " FROM google_tasks AS c"
|
|
|
|
|
+ " INNER JOIN google_tasks AS p ON c.gt_parent = p.gt_task"
|
|
|
|
|
+ " INNER JOIN tasks ON c.gt_parent = tasks._id"
|
|
|
|
|
+ " LEFT JOIN google_tasks AS s ON s.gt_parent = p.gt_task"
|
|
|
|
|
+ " WHERE c.gt_parent > 0 AND ((tasks.completed=0) AND (tasks.deleted=0)"
|
|
|
|
|
+ " AND tasks.collapsed = 0"
|
|
|
|
|
+ " AND (tasks.hideUntil<(strftime('%s','now')*1000)))"
|
|
|
|
|
+ " GROUP BY c.gt_task) as g2 ON g2.gt_id = google_tasks.gt_id WHERE");
|
|
|
|
|
query = query.replaceAll("ORDER BY .*", "");
|
|
|
|
|
|