Offer every commentable record in the "Log it against" picker - #2555
Merged
Merged
Conversation
The composer's target list had drifted from what a person's feed can actually carry: form submissions, affiliations, staff tags, and the reports/workshops/stories a person is credited on were all missing, so admins couldn't file a note or communication against them even though the "Attached to" filter already recognized those types. Route the picker, the feed aggregator, and the label helpers through one shared source of truth (PersonCreditedRecords) so the three lists can't drift again, and give the previously comment-less records (reports and the workshop family) the commentable wiring the other targets already had. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
maebeale
marked this pull request as ready for review
September 21, 2026 02:31
jmilljr24
approved these changes
Sep 21, 2026
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.
🤖 suggested review level: 5 Inspect 🔬 adds comment associations to 5 models plus a new shared service and aggregator/picker changes
Staff couldn't find all associated items in the "Log it against" dropdown, so this pr brings in more records.
Admins can now log a note or communication against any record a person is tied to — the "Log it against" composer had drifted to a curated subset, so form submissions, affiliations, staff tags, reports, and the workshop/story records a person is credited on couldn't be filed against even though the feed's "Attached to" filter already listed them.
What is the goal of this PR and why is this important?
How did you approach the change?
PersonCommentAggregator), and the label helpers must agree or a filed note silently vanishes from the feed. Routed the non-obvious "credited to a person" logic through a new shared PORO (PersonCreditedRecords) so they can't drift.has_many :comments, as: :commentablewiring the other targets already had (ReportcoversMonthlyReportvia STI).reportsdomain color (already safelisted).Anything else to add?
<select>— grouping is a possible follow-up, not done here.🤖 Generated with Claude Code
/features) entry so admins can discover the expanded picker.