rubyforgood / rubyforgood/awbw

Allow allocating bulk payments to CE registrations

Open
#2,082 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
15
Forks
26
Avg merge
12h 42m
Merged PRs (30d)
242

Description

🤖 From Claude:

Follow-up from #2072 (CE payments reporting).

Context: Bulk payments can currently only be allocated to EventRegistration records — Events::BulkPaymentsController#allocate looks up an EventRegistration and builds the allocation against it, and allocated_cents_by_registration is scoped to allocatable_type: "EventRegistration". CE fees are billed on ContinuingEducationRegistration and flow through the same polymorphic allocation system, so a bulk payment cannot presently be applied to a registrant's CE balance.

Ask: Let an admin allocate part of a bulk payment to a registrant's CE registration, not just their event registration. This needs UI work on the bulk-payments allocation card (a way to pick the CE registration as the allocation target) plus backend support in allocate.

Notes:

  • The "already allocated" figure shown per registration in the bulk-payments UI is intentionally registration-fee-scoped and should stay that way; CE allocations are tracked separately.
  • Deferred intentionally in #2072 because it isn't a small change (the allocate form only knows event registrations today).

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 with Events::BulkPaymentsController#allocate and the bulk-payments allocation card, then read issue #2072 for the existing payment-reporting context. Trace allocated_cents_by_registration and the polymorphic allocation records to understand the current EventRegistration path. Done means an admin can select a ContinuingEducationRegistration, allocate part of a bulk payment to it, and retain the existing registration-fee allocation display.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend, payments
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.