Exclude Closed tickets from the dashboard status breakdown chart (#110)
Lint / PHP (phpcs PSR-12) (push) Successful in 31s
Lint / JS (eslint) (push) Successful in 13s
Lint / PHP requirements (version + extensions) (push) Successful in 31s
Lint / Notify on failure (push) Skipped
Security / PHP Security (semgrep) (push) Successful in 1m4s
Lint / Deploy (push) Successful in 6s
Lint / PHP (phpcs PSR-12) (push) Successful in 31s
Lint / JS (eslint) (push) Successful in 13s
Lint / PHP requirements (version + extensions) (push) Successful in 31s
Lint / Notify on failure (push) Skipped
Security / PHP Security (semgrep) (push) Successful in 1m4s
Lint / Deploy (push) Successful in 6s
StatsModel::getAllStats()'s by_status breakdown grouped every status including Closed, unlike by_priority and by_category which already filter status != 'Closed'. Closed tickets accumulate indefinitely, so over time the status donut chart's Closed slice comes to dominate it, squeezing Open/Pending/In Progress down to barely-visible slivers — exactly the breakdown the chart exists to show at a glance. Filtered by_status the same way the other two breakdowns already are. The separate open_tickets/closed_tickets KPI counts are unaffected (a different query); Closed just no longer appears as a chart segment. Note: this issue was labeled 'invalid' with no explanation in the body or comments — checked and it's Gitea's generic stock label (description "Something is wrong"), not a documented decision that the request itself was wrong. The described problem is real and reproducible in the code, so implementing it as filed. Verified against real MariaDB: seeded 3 open-ish tickets (Open, Pending, In Progress) and 3 Closed. by_status now returns only the 3 active statuses; open_tickets/closed_tickets KPI counts are unchanged at 3/3. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0117oBw2jN4kALYeS8HPq4zV
This commit is contained in:
@@ -148,7 +148,7 @@ class StatsModel
|
||||
FROM tickets t WHERE status != 'Closed' AND ($visSQL) GROUP BY priority
|
||||
UNION ALL
|
||||
SELECT 'status' as type, status as label, COUNT(*) as count
|
||||
FROM tickets t WHERE ($visSQL) GROUP BY status
|
||||
FROM tickets t WHERE status != 'Closed' AND ($visSQL) GROUP BY status
|
||||
UNION ALL
|
||||
SELECT 'category' as type, category as label, COUNT(*) as count
|
||||
FROM tickets t WHERE status != 'Closed' AND ($visSQL) GROUP BY category";
|
||||
|
||||
Reference in New Issue
Block a user