You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(grants): Pretix voucher and email when grantee confirms
When a grantee confirms via sendGrantReply, enqueue create_and_send_voucher_to_grantee
after transaction.on_commit: create or reuse ConferenceVoucher in Pretix
(create_conference_voucher), then send_conference_voucher_email (voucher_code
template, same as Voucher admin).
Task mirrors schedule voucher flow: skip duplicate Pretix row for existing
GRANT/SPEAKER; queue email if voucher_email_sent_at is None (retry after partial
success); upgrade CO_SPEAKER to GRANT. Staff resend anytime via Voucher admin
Send voucher via email.
Admin Create grant vouchers uses create_conference_voucher with prefetched
existing rows; no transaction.atomic around Pretix loop. Confirm pending status
unchanged.
Remove grant_voucher_code email identifier; migration 0022 rewrites rows to
voucher_code and documents noop reverse.
Tests: GraphQL confirm + on_commit, grant admin vouchers, grant/conference tasks.
0 commit comments