Issue #167: Phone Intake Report Form for Communications Workbench #173

Merged
eliribble merged 2 commits from issue-167-phone-report-intake into main 2026-08-03 18:12:52 +00:00
Member

Builds on the confirmed direction from the issue discussion.

Backend:

  • New POST /api/communication/phone-report endpoint (authenticated)
  • New platform/phone_report.go with PhoneReportCreate that creates a report + communication for all three report types
  • Communication response includes is_phone_intake: true when created through this flow (detected via fixed client UUID)

Frontend:

  • "Add Phone Report" button at top of center column in Communication Workbench
  • PhoneReportForm.vue — single-page form with:
    • Report type selector (Compliance / Nuisance / Water)
    • Address autocomplete (required, reuses geocode suggestion endpoint)
    • Reporter name/phone/email (optional)
    • Comments field
    • Type-specific fields shown conditionally based on selection
  • List card now shows a "Phone" badge for phone intake comms

Key design decision: Unlike the public RMO flow where compliance reports defer communication creation until submission, the phone intake always creates a communication immediately so the admin sees it in the workbench right away.

Builds on the confirmed direction from the issue discussion. **Backend:** - New `POST /api/communication/phone-report` endpoint (authenticated) - New `platform/phone_report.go` with `PhoneReportCreate` that creates a report + communication for all three report types - Communication response includes `is_phone_intake: true` when created through this flow (detected via fixed client UUID) **Frontend:** - "Add Phone Report" button at top of center column in Communication Workbench - `PhoneReportForm.vue` — single-page form with: - Report type selector (Compliance / Nuisance / Water) - Address autocomplete (required, reuses geocode suggestion endpoint) - Reporter name/phone/email (optional) - Comments field - Type-specific fields shown conditionally based on selection - List card now shows a "Phone" badge for phone intake comms **Key design decision:** Unlike the public RMO flow where compliance reports defer communication creation until submission, the phone intake always creates a communication immediately so the admin sees it in the workbench right away.
Add search bar with address autocomplete to Communication Workbench
All checks were successful
/ golint (push) Successful in 21s
/ pnpm-build (push) Successful in 1m8s
1be13a7bc8
- Backend: New GET /api/communication/search endpoint that searches across
  report addresses, reporter names, and public IDs within the current
  organization. For address-like queries, also returns geocode suggestions
  filtered to the district service area boundary.
- Backend: New db/query/publicreport/search.go with ILIKE-based search queries
  and batch communication-existence checks.
- Backend: New platform/communication_search.go orchestrating parallel searches
  and merging results.
- Frontend: New CommunicationSearch.vue component with debounced autocomplete
  dropdown, categorized results (addresses/reporters/report IDs), keyboard
  navigation, and visual indicators for existing vs. new addresses.
- Frontend: Communication.vue now hosts the search bar at the top center of
  the page, handles search-driven map zoom (several-mile radius around
  selected address), and filters the communication list by search text.
- Closes Gleipnir/nidus-sync#166
Owner

Hey, I'm getting around to finally reviewing this - can you rebase on the latest main?

Hey, I'm getting around to finally reviewing this - can you rebase on the latest main?
ned force-pushed issue-167-phone-report-intake from bd34bce69b
All checks were successful
/ golint (push) Successful in 20s
/ pnpm-build (push) Successful in 1m10s
to a387872ba9
All checks were successful
/ golint (push) Successful in 21s
/ pnpm-build (push) Successful in 1m15s
2026-08-03 17:20:08 +00:00
Compare
Author
Member

Rebased on the latest main (71bfb147).

  • Branch: issue-167-phone-report-intake
  • New head: a387872b (both commits replayed cleanly, no conflicts)
  • PR diff unchanged: 12 files, +2144/-21
  • CI: golint run 1290 green (go vet + pnpm build-sync/build-rmo)

Ready for review whenever you are, neighborino.

Rebased on the latest main (71bfb147). - Branch: issue-167-phone-report-intake - New head: a387872b (both commits replayed cleanly, no conflicts) - PR diff unchanged: 12 files, +2144/-21 - CI: golint run 1290 green (go vet + pnpm build-sync/build-rmo) Ready for review whenever you are, neighborino.
eliribble approved these changes 2026-08-03 18:12:47 +00:00
eliribble deleted branch issue-167-phone-report-intake 2026-08-03 18:12:52 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
Gleipnir/nidus-sync!173
No description provided.