rubyforgood / rubyforgood/awbw
Transferred-in reg still appears under the roster "unpaid" payment filter
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 15
- Forks
- 26
- Avg merge
- 12h 42m
- Merged PRs (30d)
- 242
Description
Follow-up from #1944 / PR #2044.
A transferred-in registration's balance lives on its source registration, so it owes nothing to the new event. Reporting totals already exclude it (dashboard billable basis + EventRevenueFigures), but the roster payment-status filter does not: EventRegistration.not_paid_in_full (raw SQL summing allocations vs events.cost_cents) still matches a transferred-in reg (0 allocations, cost > 0), so it shows up under payment_status: "unpaid".
Suggested fix
- Exclude transferred-in regs from
not_paid_in_full(and treat them consistently inpaid_in_full/ thepayment_statusscope), e.g.AND transferred_from_registration_id IS NULL, mirroringnot_transferred_in. - Confirm the roster "Paid/Unpaid" counts and the
payment_statusfilter agree with the dashboard's billable basis.
Context
app/models/event_registration.rb—paid_in_full/not_paid_in_full/payment_statusscopes;not_transferred_inscope already exists.- Deliberately scoped out of #1944 (a filter, not a reporting total).
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 in app/models/event_registration.rb by reading the paid_in_full, not_paid_in_full, payment_status, and existing not_transferred_in scopes. Compare their behavior with the dashboard billable basis and EventRevenueFigures, then check the roster Paid/Unpaid counts and payment_status filter. Done means transferred-in registrations are excluded consistently and the roster agrees with the dashboard totals.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby, sql
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100