Add aggregated annual evaluations endpoint for organizations #731
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.
What is the goal of this PR and why is this important?
Implements
/organizations/:id/annual_evaluations?year=YYYYendpoint to display aggregated annual evaluation responses per organization per year. Organizations need to view all submitted evaluations with questions and answers grouped for analysis.How did you approach the change?
Model Layer
Organizationmodel as STI fromProject(organizations are projects in this system)annual_evaluations_for_year(year)- fetches evaluations via Rails associationsaggregated_annual_evaluation_responses(year)- groups responses by form fieldController & Routes
OrganizationsController#annual_evaluationswith year filteringGET /organizations/:id/annual_evaluationsForm Seed
View
Tests
Anything else to add?
The existing
FormField#multiple_choice?method has a bug (checks for "multiple choice" with space instead of "multiple_choice" with underscore), so the view uses direct string checking onanswer_typeinstead.Future performance optimization: consider indexes on
form_builders.nameandreports.created_atas evaluation volume grows.Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.