rubyforgood / rubyforgood/casa
Start adding polymorphic reads to replace old followups via case_contact
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 381
- Forks
- 542
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 47
Description
What type(s) of user does this feature affect?
- volunteers?
- supervisors?
- admins?
Description
Part 2 of epic to create followups for emancipation checklist
This PR will deal with updating the reads across the app for followup. It will also reorg the dir structure to remove it from under case contacts.
May want to spread this out over a few PRs due to the structural changes and the sheer amount of files that need changing.
How to access the QA site
Login Details:
Link to QA site
Login Emails:
- volunteer1@example.com view site as a volunteer
- supervisor1@example.com view site as a supervisor
- casa_admin1@example.com view site as an admin
password for all users: 12345678
reminders of files that need to change:
- followup_notifier still relies on case_contact
- followup_service and the send_notification method
- make sure case_contact followup still works without the belongs_to on followup
- FollowupResolvedNotifier also needs to be updated to not use case_contact
- make sure that resolve works for all login account types
- look into possibility that you can't resolve reminders while impersonating a volunteer.
- update
def self.in_organization(casa_org) Followup.joins(case_contact: :casa_case).where(casa_cases: {casa_org_id: casa_org.id}) end
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing followup_notifier, followup_service, send_notification, and FollowupResolvedNotifier, then inspect Followup.in_organization and its case_contact association. Check how followups are read and resolved for volunteers, supervisors, admins, and impersonated volunteers. Done means reads no longer depend on case_contact while existing case-contact followups and resolution continue to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rails, ruby
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100