rubyforgood / rubyforgood/casa

Start adding polymorphic reads to replace old followups via case_contact

Open
#5,630 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🗺️ Epic no-issue-activity
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.