Skip to content

Edit bulk payment attendees until connected to a registrant - #2007

Draft
maebeale wants to merge 23 commits into
mainfrom
maebeale/editable-bulk-payment-members
Draft

Edit bulk payment attendees until connected to a registrant#2007
maebeale wants to merge 23 commits into
mainfrom
maebeale/editable-bulk-payment-members

Conversation

@maebeale

@maebeale maebeale commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

🤖 suggested review level: 3 Read 📖 contained new edit/update flow on the public bulk-payment surface plus email variants

Stacked on #2018 — base is `capture-bulk-payment-attendee-registrant-link`, so this diff is only the attendee-editing feature re-homed on that refactor. Review/merge #2018 first.

What is the goal of this PR and why is this important?

  • Bulk-payment attendees ("members") could never be edited after submission — a typo'd name meant the attendee never matched a registrant and couldn't be allocated to.
  • Payers (and admins) can now edit the attendee list from a single public edit page, and both the payer and staff are notified of the change.

How did you approach the change?

  • New public, slug-based edit/update actions on Events::BulkPaymentSubmissions (the slug-based, unauthenticated controller Capture bulk payment attendee registrant link #2018 introduced), authorized via FormSubmissionPolicy#edit?/#update?; reuses the existing bulk-payment-attendees Stimulus controller.
  • Attendees already connected to an active registrant (via the existing matched_attendees match) render read-only but stay removable; unmatched rows are editable and new rows can always be added.
  • "Edit attendees" entry points added everywhere the list shows: the ticket, and Capture bulk payment attendee registrant link #2018's redesigned admin dashboard card (admins land on the same public page).
  • Ticket gains an admin-only per-attendee coverage chip (paid / $ due / not registered).
  • On save:
    • the payer gets an updated confirmation email — distinct subject/heading + an "Updated on " line — so it reads as a change, not a duplicate;
    • staff get an updated FYI ("Pay for Other(s) data changed").

Anything else to add?

  • New notification kinds: bulk_payment_confirmation_updated, bulk_payment_confirmation_updated_fyi.
  • Model, request, policy, and mailer specs added; mailer previews added; page_bg_class mapping registered.

Copilot AI review requested due to automatic review settings July 22, 2026 11:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 22, 2026 11:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@maebeale
maebeale marked this pull request as ready for review July 22, 2026 12:36
@maebeale
maebeale marked this pull request as draft July 22, 2026 12:36
Copilot AI review requested due to automatic review settings July 22, 2026 12:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 25, 2026 12:34
@maebeale
maebeale force-pushed the maebeale/editable-bulk-payment-members branch from 44acdb8 to 232e831 Compare July 25, 2026 12:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 25, 2026 12:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 25, 2026 12:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 25, 2026 13:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@maebeale

maebeale commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator Author

@jmilljr24 i think your newest "Link" pr handles a bunch in here. but, this adds the ability for the submitter to change their names.

@maebeale
maebeale requested a review from jmilljr24 July 29, 2026 12:26
@maebeale

Copy link
Copy Markdown
Collaborator Author

i'm going to edit this so it's based off pr #2018

PR #2018 splits the bulk payment flow into a public, slug-based
Events::BulkPaymentSubmissions controller and an admin-only
Events::BulkPayments controller, relocates the payer-facing views under
bulk_payment_submissions/, replaces Events::BulkPaymentPolicy with a
slug-aware FormSubmissionPolicy, and standardizes the form-responses link
on the :slug param. The attendee-editing feature was built against the
old single-controller layout, so move it onto that new structure rather
than reintroducing the pre-refactor shape:

- edit/update and the admin-only per-attendee payment status now live on
  BulkPaymentSubmissions (the slug-based, unauthenticated controller),
  authorized through FormSubmissionPolicy#edit?/#update?.
- the edit view and its attendee-fields partial move alongside ticket in
  bulk_payment_submissions/; the ticket keeps the redesigned attendee
  section and points "View your form responses" at ?slug=.
- the "Edit attendees" affordance re-lands on #2018's redesigned card.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maebeale
maebeale force-pushed the maebeale/editable-bulk-payment-members branch from 9557f5a to e3111a6 Compare July 29, 2026 12:43
Copilot AI review requested due to automatic review settings July 29, 2026 12:43
@maebeale
maebeale changed the base branch from main to capture-bulk-payment-attendee-registrant-link July 29, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Base automatically changed from capture-bulk-payment-attendee-registrant-link to main July 29, 2026 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants