Skip to content

Search organizations and users; title audit report files like the page - #99

Merged
man4ish merged 2 commits into
mainfrom
claude/admin-search-and-report-title
Sep 26, 2026
Merged

man4ish merged 2 commits into
mainfrom
claude/admin-search-and-report-title

Conversation

@man4ish

@man4ish man4ish commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator

What

1. The global search finds organizations and users (platform admins)

  • What it matches: after 2+ characters, the search also lists organizations by name and users by email. It uses the same /platform/orgs and /platform/users searches as the Organizations and Users pages: 5 of each, debounced 250ms.
  • Opening a result: choosing one opens its detail page (/organizations/:id, /users/:id).
  • Layout: results are grouped under "Pages" and "Organizations & users", and the arrow keys move across both groups.
  • Who gets it: only sessions with platform-admin access; both endpoints are manage_all_orgs-gated. Everyone else still gets page search only. A failing source contributes no rows rather than an error.

2. The HIPAA audit report downloads match the page name
The PDF title and cover said "HIPAA Readiness Report", and the CSV's first row said "HIPAA Basic Compliance Report". Both now say "HIPAA Organization Audit Report", the name of the admin page (Compliance › HIPAA Audit Report).

Tests

  • New search tests: results come from both sources and opening a user calls the handler; the 2-character minimum and debounce; no requests for non-platform-admins or when no handler is passed.
  • New backend tests: the PDF title and cover, and the CSV's first row.
  • Local admin build: Ctrl+K, type "kum", pick the user, and it opens /users/42.
  • Results:
    • vitest: 755 passed; tsc -b and build:admin are clean.
    • Backend compliance tests: 70 passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_014t7uDmnjGZAyMrCYpN2RZy


Generated by Claude Code

The admin console now calls this report "HIPAA Organization Audit
Report" (Compliance > HIPAA Audit Report), but the downloads still said
"HIPAA Readiness Report" (PDF title and cover) and "HIPAA Basic
Compliance Report" (CSV first row). Both now use the page's name, with
tests pinning it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014t7uDmnjGZAyMrCYpN2RZy
For platform admins, typing two or more characters in the global search
now also lists matching organizations (by name) and users (by email),
from the same /platform/orgs and /platform/users searches the
Organizations and Users pages use (5 of each, debounced 250ms).
Choosing one opens its detail page (/organizations/:id, /users/:id).

- Results are grouped under "Pages" and "Organizations & users"; the
  keyboard moves across both groups.
- Only offered when the session has platform-admin access (both
  endpoints are manage_all_orgs-gated) and AdminApp passes an
  onOpenRecord handler; otherwise search stays pages-only.
- A failing source contributes no rows instead of an error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014t7uDmnjGZAyMrCYpN2RZy
@man4ish
man4ish merged commit 5f20b08 into main Sep 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants