Add a CE hours detail section to the registration ticket#1710
Merged
Conversation
maebeale
commented
Jun 17, 2026
| @@ -156,6 +156,13 @@ def event_details_label | |||
| super.presence || "Before you attend" | |||
Collaborator
Author
There was a problem hiding this comment.
🤖 From Claude: Mirrors event_details_label — falls back to the default even when an admin clears the field, so the section never renders unlabelled.
maebeale
commented
Jun 17, 2026
| <!-- CE hours (continuing education requirements, payment, sign-in rules) --> | ||
| <% if event_registration.event.ce_hours_details.present? %> | ||
| <%= link_to ce_hours_event_path(event_registration.event, reg: event_registration.slug), | ||
| class: "flex items-center gap-3 rounded-xl border-2 border-indigo-300 bg-indigo-50 px-4 py-3 hover:bg-indigo-100 transition-colors" do %> |
Collaborator
Author
There was a problem hiding this comment.
🤖 From Claude: Intentionally indigo + graduation-cap to distinguish this call-out from the amber "Before you attend" one directly above, so two stacked call-outs on a ticket read as different things.
CE requirements (CAMFT approval, license-number and payment rules, sign-in, post-training evaluation) used to live in a long confirmation email. Surface them per event the same way "Before you attend" works: a ticket call-out linking to a sanitized-HTML details page, so admins can keep the embedded links instead of re-sending an email each time. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
So the CE hours feature has demoable data: mark Amy plus four other registrants as CE-credit requested, and give both facilitator trainings CE hours details so the ticket call-out actually surfaces. Make the named-registration seed idempotent (find_or_initialize) so the CE flag applies on re-seed instead of being skipped by the create-only guard. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
63715fe to
4fbfe94
Compare
The new CE hours page sets content_for(:page_bg_class, "public") but wasn't listed in EXPECTED_MAPPINGS, so the "every view is accounted for" guard failed. ce_hours? aliases to show?, matching its sibling details page, which is also "public". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the goal of this PR and why is this important?
How did you approach the change?
eventscolumns (ce_hours_detailsHTML +ce_hours_details_label, default "CE hours"), an admin collapsible editor, aGET /events/:id/ce_hourssanitized-HTML details page, and a ticket call-out (indigo + graduation-cap, distinct from the amber "Before you attend" call-out).UI Testing Checklist
Anything else to add?