Repository navigation
fix(emails): send online events' join link in tickets, bookings and invites - #513
Merged
Merged
Conversation
…nvites Guests of an online event only saw a join link on the ticket page, and only when Zoom registered them. Any other link (Meet, Teams, ...) never left the organiser's manage page. OnlineMeeting resolves the link per guest: their own Zoom registration link, then the organiser's meeting_link, then the shared link of the event's Zoom meeting or webinar (Zoom registers guests on paid accounts only). The event page, email header, ticket and booking emails and the .ics all read it. - Ticket and booking emails get a "How to join" block with a join button. - .ics: LOCATION is the join link, plus CONFERENCE and URL; text values are escaped so commas and line breaks in an address stay inside it. - Tickets register with Zoom before the ticket email renders. Refs #511
Contributor
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
Contributor
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
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 changed
Online events' join link now reaches guests in the ticket email, booking confirmation and
.ics, whatever the platform (Zoom, Meet, Teams, anything). Refs #511.OnlineMeeting(buzz/events/online_meeting.py) picks the link per guest: their own Zoom registration link → organiser'smeeting_link→ the sharedzoom_linkof the event's Zoom meeting/webinar. The event page, email header, both emails and the.icsread it..ics:LOCATION= join link, plusCONFERENCEandURL. Text values now escaped; an address with a comma or line break used to break the file.event_ticket.py:on_submit), so the per-guest link exists in time.Gotchas:
"Only available for paid users"). Hence the shared-link fallback; with registration on, it opens Zoom's sign-up form first..ics.send_zoom_registration_emaildoes nothing: zoom_integration sendsregistrants_email_notificationat the top of the body, Zoom reads it undersettings. Left alone.Not in this PR (rest of #511): registering already-booked tickets when an event converts to Zoom, ticket page button label,
meeting_link_of()webinar fallback. Events with their own ticket email template don't get the block; they can use{{ meeting.join_url }}/{{ meeting.label }}.Demo
Ticket and booking email for an online event:
Testing
Checks:
test_event_ticket12/12,test_event_booking48/48,test_event34/34,test_zoom5/5 on testbuzz; ruff clean. Rendered both templates for Meet, Teams, unknown host, Zoom per-guest, Zoom free-plan fallback and in-person. No new tests; E2E left to CI.