Repository navigation
Certificates unlock on their own; roster shows Available, slider makes it available now - #2942
Merged
maebeale merged 4 commits intoNov 3, 2026
Conversation
…s it available now - Marking the event's own certificate issued now unlocks it (it only fed readiness before) - Marking a CE certificate issued now unlocks the CE certificate too - Roster certificate cells show "Available" once a certificate unlocks on its own; otherwise a slider that makes it available now - Toggling CE also refreshes the event certificate cell (issued CE unlocks it) - CE edit page switch relabeled "CE certificate availability" Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…te reads - Readiness "Certificate not sent" → "Certificate not available" (event + CE); a registrant is Completed once their certificate(s) unlock, no manual send needed - Event#ce_callout memoized (like scholarship_callout) so RegistrantCeForm hits the callouts once per event - Roster preloads attendance entries + form completions for CE rows only; RegistrantCeForm reads the preloaded completions when loaded - Query-count spec: adding CE registrants adds no roster queries Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…nstead - Readiness CE checks (unpaid, license, certificate) skip denied CE - Status badge shows "CE denied" as a note (tooltip, and under the badge when there's no other reason) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
maebeale
deleted the
maebeale/eventregistration-certificate_available-logic
branch
November 3, 2026 14:09
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.
🤖 suggested review level: 4 Check ✅ availability predicates gain an issued override, roster cell + readiness read availability, CE reads preloaded
This PR makes both the certs work the same.
The roster's certificate sliders read like "available," but they only stored "sent." So someone who attended (and finished scholarship tasks) showed grey even though they could already download their certificate, sliding the event certificate on never unlocked it, and readiness kept them at "Certificate not sent" until an admin flipped it by hand. Admins were also unsure what the unlock conditions were.
certificate_sent_atnow counts inEventRegistration#certificate_available?(before it only fed readiness)certificate_sent_atnow counts inContinuingEducationRegistration#certificate_available?(before, an issued CE cert could still be locked)CERTIFICATE_REQUIREMENTSon each model)Event#ce_calloutmemoized (likescholarship_callout)🤖 Generated with Claude Code