Repository navigation
Add name badge printing - #1464
Open
daveearley wants to merge 1 commit into
Open
daveearley wants to merge 1 commit into
daveearley wants to merge 1 commit into
Conversation
- Badge designer: six templates, logo/artwork/sponsor images, fonts and colours, lines bound to registration questions, ticket colour ribbons, sizes from labels and ID cards to A6/4x6, A4/Letter sheets with cutting guides, and two-sided or fold-over backs. - Batch printing with printed/needs-reprint tracking; name, ticket, seat and badge-answer changes flag a reprint. Print actions on attendee and order menus, and a badge column on the attendee table. - Printing at check-in: print or reprint from the attendee sheet, auto-print on check-in, per-device label size and back printing, and a print queue. Check-in lists gain badge printing and a self check-in kiosk mode. - Badges are an opt-in per-event feature under Event Settings > Features (event_settings.enabled_features); off hides badge UI and door printing. - The check-in list form now uses expandable rows shared with the product form (common/Ledger).
Contributor
✅ E2E smoke tests: Everything passed.
|
This branch has not been deployed
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 changes I've made
Adds name badge printing to the core product (no licence or feature flag).
Badge designer (new Badges page in the event menu)
Printing
badge_print_count/badge_printed_at. Changing a name, ticket, seat or an answer shown on the badge puts it back in the reprint queue, including buyer seat changes and seat map relabels.Event features switch
event_settings.enabled_features,EventFeature::BADGES). Off hides every badge control and stops door printing. Seating and box office are unchanged.Other
ProductFormtocommon/Ledger.Why I've made these changes
Badge printing is the most common gap for conferences. It hooks into registration questions and the existing check-in flows rather than being a separate tool, and it stays out of the way for the majority of events that don't need it.
Things to review
Migrations:
2026_10_29_000000_add_badge_printingaddsevent_settings.badge_design_settings,attendees.badge_printed_at/badge_print_countandcheck_in_lists.badge_printing_enabled/kiosk_mode.2026_10_29_000001adds the nullableevent_settings.enabled_features.API: additive only. There are new staff endpoints under
/events/{id}/badge-designand/events/{id}/badges, and new public check-in endpoints for a single attendee's badge. New optional fields:badge_printing_enabledandkiosk_mode, kept as stored when an update leaves them out;enabled_features;fold_over.openapi.jsonis re-exported.Behaviour change in check-in: the public single-attendee lookup now includes that list's check-in, so re-scanning an attendee shows "already checked in".
Door privacy: a door badge includes the answers bound to the design even when the list hides question answers from unauthenticated staff, because the organizer chose to print them.
How I've tested these changes
pint --testpasses.npx tsc --noEmitpasses. Translations are added for every supported language.e2e/tests/badges/cover the designer, batch printing, two-sided and fold-over sheets, door printing, auto-print, the kiosk, and the features switch.management/messages-lifecycle, which also fails on develop.Checklist