fix: correct task sort order per status
DONE: finished_time ASC, PENDING: start_time ASC, TODO: order ASC
This commit is contained in:
parent
01ae9c964a
commit
43ca6b8462
20
database.py
20
database.py
@ -202,19 +202,25 @@ def get_tasks_sorted(goal_id):
|
|||||||
try:
|
try:
|
||||||
cur = conn.execute(
|
cur = conn.execute(
|
||||||
"""SELECT * FROM tasks WHERE goal_id = ? AND status = 'done'
|
"""SELECT * FROM tasks WHERE goal_id = ? AND status = 'done'
|
||||||
ORDER BY finished_time DESC""",
|
ORDER BY finished_time ASC""",
|
||||||
(goal_id,)
|
(goal_id,)
|
||||||
)
|
)
|
||||||
finished = [row_to_dict(r) for r in cur.fetchall()]
|
finished = [row_to_dict(r) for r in cur.fetchall()]
|
||||||
|
|
||||||
cur = conn.execute(
|
cur = conn.execute(
|
||||||
"""SELECT * FROM tasks WHERE goal_id = ? AND status != 'done'
|
"""SELECT * FROM tasks WHERE goal_id = ? AND status != 'done'
|
||||||
ORDER BY CASE status
|
ORDER BY
|
||||||
WHEN 'doing' THEN 1
|
CASE status
|
||||||
WHEN 'pending' THEN 2
|
WHEN 'doing' THEN 0
|
||||||
WHEN 'todo' THEN 3
|
WHEN 'pending' THEN 1
|
||||||
ELSE 4
|
WHEN 'todo' THEN 2
|
||||||
END, "order" ASC""",
|
END ASC,
|
||||||
|
CASE status
|
||||||
|
WHEN 'pending' THEN start_time
|
||||||
|
END ASC,
|
||||||
|
CASE status
|
||||||
|
WHEN 'todo' THEN "order"
|
||||||
|
END ASC""",
|
||||||
(goal_id,)
|
(goal_id,)
|
||||||
)
|
)
|
||||||
unfinished = [row_to_dict(r) for r in cur.fetchall()]
|
unfinished = [row_to_dict(r) for r in cur.fetchall()]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user