Skip to content

Only let volunteers set reminders on their own case contacts - #7274

Merged
compwron merged 1 commit into
mainfrom
followups-volunteers-own-contacts
Oct 30, 2026
Merged

compwron merged 1 commit into
mainfrom
followups-volunteers-own-contacts

Conversation

@compwron

Copy link
Copy Markdown
Collaborator

Follow-up to the org-scoping change in 9fad489.

Before: any volunteer could set a followup reminder on any case contact in their org, including other volunteers' contacts.
After: admins and supervisors can still set one on any case contact in their org, but volunteers only on case contacts they created.

  • FollowupPolicy#create? now takes the followup record (class-level checks stay role-only)
  • FollowupsController#create authorizes Followup.new(case_contact: ...)
  • _reminder_control hides Set reminder when the user can't use it (e.g. a volunteer viewing another volunteer's contact on a shared case)
  • Resolving reminders is unchanged

Tests: new request specs cover another volunteer (refused), a supervisor (allowed) and an admin (allowed) in the same org, and existing followup specs were updated so the volunteer owns the contact. Followup request/policy/system specs and the cross-org spec pass (53 examples).

🤖 Generated with Claude Code

Admins and supervisors can still set a followup reminder on any case
contact in their org. Volunteers could previously set one on any
volunteer's contact in their org; now only on contacts they created.
The "Set reminder" button is hidden when the user can't use it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added 🧪 Tests Tests ruby Touches Ruby code pundit Touches Pundit authorization policies erb Touches ERB templates labels Oct 30, 2026
@compwron
compwron merged commit 63fd2db into main Oct 30, 2026
11 of 13 checks passed
@compwron
compwron deleted the followups-volunteers-own-contacts branch October 30, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

erb Touches ERB templates pundit Touches Pundit authorization policies ruby Touches Ruby code 🧪 Tests Tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant