feat(consistency): ticket-detail Delete + assets bulk-delete (MAPPS-313) #341

Merged
YousifShkara merged 1 commit from fix/MAPPS-313-delete-affordances into main 2026-06-25 11:01:46 +02:00
Owner

QA pass flagged two outliers in the delete-affordance audit:

  • Ticket detail page had no Delete button (only the list bulk action).
  • Assets list had bulk-edit but no bulk-delete.

Brings both surfaces in line with Companies / Contracts / Projects
detail (per-row delete + confirmation) and Tickets list (bulk +
confirmation - see MAPPS-310).

Ticket detail-page Delete:

  • Adds a Danger Delete Button to TicketDetailPage's PageHeader
    actions, next to "Add Note" / "Log Time".
  • Opens ConfirmDialog titled with the ticket number + title.
    Spells out the cascading-delete contract (notes / attachments /
    time entries).
  • Confirm fires DELETE /api/v1/tickets/{id}, toasts success, and
    navigator.push(Route::TicketList) so a now-404 ticket id can't
    trap the user.
  • Inline-error in the dialog message lets the user retry without
    losing their place when the server rejects.

Assets list bulk-delete:

  • Adds a Danger "Delete selected" Button to the existing
    BulkActionsBar, alongside "Bulk edit".
  • Same snapshot-at-click + ConfirmDialog pattern Tickets bulk-delete
    uses (MAPPS-310).
  • Fan-out DELETE /api/v1/assets/{id} calls with the same partial-
    success toast copy as Tickets.

#MAPPS-313

QA pass flagged two outliers in the delete-affordance audit: - Ticket detail page had no Delete button (only the list bulk action). - Assets list had bulk-edit but no bulk-delete. Brings both surfaces in line with Companies / Contracts / Projects detail (per-row delete + confirmation) and Tickets list (bulk + confirmation - see MAPPS-310). Ticket detail-page Delete: - Adds a Danger Delete Button to `TicketDetailPage`'s PageHeader actions, next to "Add Note" / "Log Time". - Opens `ConfirmDialog` titled with the ticket number + title. Spells out the cascading-delete contract (notes / attachments / time entries). - Confirm fires `DELETE /api/v1/tickets/{id}`, toasts success, and `navigator.push(Route::TicketList)` so a now-404 ticket id can't trap the user. - Inline-error in the dialog message lets the user retry without losing their place when the server rejects. Assets list bulk-delete: - Adds a Danger "Delete selected" Button to the existing `BulkActionsBar`, alongside "Bulk edit". - Same snapshot-at-click + ConfirmDialog pattern Tickets bulk-delete uses (MAPPS-310). - Fan-out `DELETE /api/v1/assets/{id}` calls with the same partial- success toast copy as Tickets. #MAPPS-313
feat(consistency): ticket-detail Delete + assets bulk-delete (MAPPS-313)
All checks were successful
Check / fmt + clippy + tests (pull_request) Successful in 17m23s
Create release / Create release from merged PR (pull_request) Has been skipped
1bf7460be8
QA pass flagged two outliers in the delete-affordance audit:
- Ticket detail page had no Delete button (only the list bulk action).
- Assets list had bulk-edit but no bulk-delete.

Brings both surfaces in line with Companies / Contracts / Projects
detail (per-row delete + confirmation) and Tickets list (bulk +
confirmation - see MAPPS-310).

Ticket detail-page Delete:
- Adds a Danger Delete Button to `TicketDetailPage`'s PageHeader
  actions, next to "Add Note" / "Log Time".
- Opens `ConfirmDialog` titled with the ticket number + title.
  Spells out the cascading-delete contract (notes / attachments /
  time entries).
- Confirm fires `DELETE /api/v1/tickets/{id}`, toasts success, and
  `navigator.push(Route::TicketList)` so a now-404 ticket id can't
  trap the user.
- Inline-error in the dialog message lets the user retry without
  losing their place when the server rejects.

Assets list bulk-delete:
- Adds a Danger "Delete selected" Button to the existing
  `BulkActionsBar`, alongside "Bulk edit".
- Same snapshot-at-click + ConfirmDialog pattern Tickets bulk-delete
  uses (MAPPS-310).
- Fan-out `DELETE /api/v1/assets/{id}` calls with the same partial-
  success toast copy as Tickets.

#MAPPS-313
YousifShkara deleted branch fix/MAPPS-313-delete-affordances 2026-06-25 11:01:46 +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!341
No description provided.