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:
|
||||
cur = conn.execute(
|
||||
"""SELECT * FROM tasks WHERE goal_id = ? AND status = 'done'
|
||||
ORDER BY finished_time DESC""",
|
||||
ORDER BY finished_time ASC""",
|
||||
(goal_id,)
|
||||
)
|
||||
finished = [row_to_dict(r) for r in cur.fetchall()]
|
||||
|
||||
cur = conn.execute(
|
||||
"""SELECT * FROM tasks WHERE goal_id = ? AND status != 'done'
|
||||
ORDER BY CASE status
|
||||
WHEN 'doing' THEN 1
|
||||
WHEN 'pending' THEN 2
|
||||
WHEN 'todo' THEN 3
|
||||
ELSE 4
|
||||
END, "order" ASC""",
|
||||
ORDER BY
|
||||
CASE status
|
||||
WHEN 'doing' THEN 0
|
||||
WHEN 'pending' THEN 1
|
||||
WHEN 'todo' THEN 2
|
||||
END ASC,
|
||||
CASE status
|
||||
WHEN 'pending' THEN start_time
|
||||
END ASC,
|
||||
CASE status
|
||||
WHEN 'todo' THEN "order"
|
||||
END ASC""",
|
||||
(goal_id,)
|
||||
)
|
||||
unfinished = [row_to_dict(r) for r in cur.fetchall()]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user