Wahab demo prep — workflow hardening, Cancelled status, ticket cleanup support #5

Merged
abiba-bot merged 4 commits from fm/denya-wahab-cleanup-hardening into main 2026-08-02 15:01:25 +00:00
Owner

Wahab demo prep batch (captain-approved 2026-08-02):

Workflow hardening

  • W1: assigning a ticket auto-advances status to Assigned with a timeline entry (no manual state move needed)
  • W2: status dropdown offers ONLY valid next transitions via a new transitions helper (no more 400 workflow-control errors)
  • Cancelled status now reachable from ALL active states; excluded from CEO resolution averages
  • Ticket detail page shows unit/category (was always em-dash)
  • Phone field persisted (was silently dropped); phone updatable via PATCH
  • Admin delete endpoint with photo cleanup guard; users picker replaces hardcoded technician list
  • New-issue form: category required, priority validation

Validated through no-mistakes pipeline: re-review low risk, full test suite green (workflow hardening, transitions, auto-advance), docs synced. Note: no-mistakes cannot create the PR itself (Gitea provider unsupported) — branch pushed, opened here. Demo cleanup of old test tickets (keep ~5 cancelled) happens at deploy time per the brief.

Wahab demo prep batch (captain-approved 2026-08-02): **Workflow hardening** - **W1**: assigning a ticket auto-advances status to Assigned with a timeline entry (no manual state move needed) - **W2**: status dropdown offers ONLY valid next transitions via a new transitions helper (no more 400 workflow-control errors) - Cancelled status now reachable from ALL active states; excluded from CEO resolution averages - Ticket detail page shows unit/category (was always em-dash) - Phone field persisted (was silently dropped); phone updatable via PATCH - Admin delete endpoint with photo cleanup guard; users picker replaces hardcoded technician list - New-issue form: category required, priority validation Validated through no-mistakes pipeline: re-review low risk, full test suite green (workflow hardening, transitions, auto-advance), docs synced. Note: no-mistakes cannot create the PR itself (Gitea provider unsupported) — branch pushed, opened here. Demo cleanup of old test tickets (keep ~5 cancelled) happens at deploy time per the brief.
abiba-bot added 4 commits 2026-08-02 14:38:38 +00:00
- Add Cancelled as terminal status reachable from all active states; exclude
  from SLA breach reporting and dashboard active counts; add to status pickers
- Persist customer phone on ticket create/update (was silently dropped);
  add tickets.phone migration + legacy self-heal guard
- Add admin-only DELETE /api/tickets/{id} (removes timeline/photos/escalations)
- Add GET /api/auth/users for the assign-technician dropdown (was hardcoded)
- TicketOut now returns nested unit/category so the detail page stops showing
  '—' for Unit/Property/Category
- Ticket numbering uses max+1 so deletions never re-issue a number
- New-issue form: require Category and (standard mode) Priority client-side
- Tests: 11 new cases covering cancellation, SLA exemption, phone, delete,
  users endpoint, numbering
abiba-bot merged commit 30c0c01c59 into main 2026-08-02 15:01:25 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SyslogSolution/denya-onecare#5