Skip to content

Add Forms submission reporting and CSV exports to Reports - #2405

Merged
jmgasper merged 1 commit into
devfrom
feat/forms-reporting
Sep 27, 2026
Merged

jmgasper merged 1 commit into
devfrom
feat/forms-reporting

Conversation

@jmgasper

@jmgasper jmgasper commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

Add an administrator-only Forms tab to the Reports portal. Users can select a named form, view every field in a 25-row paginated submission table, filter by inclusive UTC start/end dates, and download either all submissions or all filtered submissions as CSV.

The page resets pagination when the form or dates change, ignores stale responses, displays empty/error/loading states, and uses the existing authenticated HTTP client. Exports are independent of the displayed page and use the Forms API's complete export endpoint. Talent Manager access does not expose submission PII.

Validation: yarn lint, yarn run build, and 10 focused tests across the Forms page/service and Reports navigation/routes. Tests cover pagination reset, date validation, all/filtered downloads, stale responses, retries, and preservation of false/zero values.

Depends on topcoder-platform/forms-api-v6#2. Deploy the API first and explicitly add the Reports/Platform UI origins to its CORS allowlist. The companion development contact-form migration is https://github.com/topcoder-platform/topcoder-website/pull/38.

The CSV response is downloaded as a browser Blob, so very large exports remain subject to browser memory limits. No live deployment was performed.

Build completed with the existing missing-source-map warning from @workflow/serde.

@jmgasper
jmgasper requested a review from kkartunov as a code owner September 27, 2026 23:32
@jmgasper
jmgasper merged commit ba2e74d into dev Sep 27, 2026
7 of 8 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.

1 participant