Add Forms submission reporting and CSV exports to Reports - #2405
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.