fix(tickets): source list status filter from tenant ticket_statuses (MAPPS-295) #294

Merged
YousifShkara merged 1 commit from fix/MAPPS-295-ticket-status-enum into main 2026-06-21 07:21:19 +02:00
Owner

The ticket list page hardcoded new/open/in_progress/pending/resolved/closed for its Status filter, while the ticket detail page's inline-edit Status dropdown already fetched the tenant's configured set via GET /tickets/statuses (PMS-359). The two views disagreed: a tenant whose workflow added "Waiting on Client / Waiting on Vendor / Scheduled" saw those on the detail page but could not filter for them on the list, and the list offered a "Pending" that did not exist on any record. Same GET /tickets/statuses is now the source of truth for both surfaces, so the filter shows the actual configured statuses and matches rows by the server-returned name (case-insensitive). Empty / offline fetch falls back to just the "All Statuses" placeholder, which is strictly better than fabricating slugs. Priority filter stays on the hardcoded four-level slug set for now (priority's tenant-config story still uses fixed levels).

#MAPPS-295

The ticket list page hardcoded `new/open/in_progress/pending/resolved/closed` for its Status filter, while the ticket detail page's inline-edit Status dropdown already fetched the tenant's configured set via `GET /tickets/statuses` (PMS-359). The two views disagreed: a tenant whose workflow added "Waiting on Client / Waiting on Vendor / Scheduled" saw those on the detail page but could not filter for them on the list, and the list offered a "Pending" that did not exist on any record. Same `GET /tickets/statuses` is now the source of truth for both surfaces, so the filter shows the actual configured statuses and matches rows by the server-returned name (case-insensitive). Empty / offline fetch falls back to just the "All Statuses" placeholder, which is strictly better than fabricating slugs. Priority filter stays on the hardcoded four-level slug set for now (priority's tenant-config story still uses fixed levels). #MAPPS-295
fix(tickets): source list status filter from tenant ticket_statuses (MAPPS-295)
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
Check / clippy + fmt + tests (pull_request) Successful in 1m17s
0e35352839
The ticket list page hardcoded `new/open/in_progress/pending/resolved/closed` for its Status filter, while the ticket detail page's inline-edit Status dropdown already fetched the tenant's configured set via `GET /tickets/statuses` (PMS-359). The two views disagreed: a tenant whose workflow added "Waiting on Client / Waiting on Vendor / Scheduled" saw those on the detail page but could not filter for them on the list, and the list offered a "Pending" that did not exist on any record. Same `GET /tickets/statuses` is now the source of truth for both surfaces, so the filter shows the actual configured statuses and matches rows by the server-returned name (case-insensitive). Empty / offline fetch falls back to just the "All Statuses" placeholder, which is strictly better than fabricating slugs. Priority filter stays on the hardcoded four-level slug set for now (priority's tenant-config story still uses fixed levels).

#MAPPS-295
YousifShkara deleted branch fix/MAPPS-295-ticket-status-enum 2026-06-21 07:21:19 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!294
No description provided.