From dc3e681e010a185f941e0dfcfa2f4b36084a1e75 Mon Sep 17 00:00:00 2001 From: Everton Resende <97287024+evertonresende@users.noreply.github.com> Date: Tue, 10 Feb 2026 18:57:54 -0300 Subject: [PATCH] fix: hide cancel/reschedule links in emails when disabled (#27637) When disableCancelling or disableRescheduling is enabled on an event type, the confirmation email still showed non-functional cancel/reschedule links. The ManageLink email component already had correct conditional logic to hide these links, but two flows constructed the CalendarEvent manually without including the flags: the booking confirmation handler and the payment booking flow. This caused the flags to be undefined, which ManageLink interpreted as enabled. Added disableCancelling and disableRescheduling to the Prisma select and CalendarEvent object in both confirm.handler.ts and getBooking.ts. Closes #22906 --- packages/features/bookings/lib/payment/getBooking.ts | 4 ++++ .../trpc/server/routers/viewer/bookings/confirm.handler.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/features/bookings/lib/payment/getBooking.ts b/packages/features/bookings/lib/payment/getBooking.ts index b63150cdf6..b5c556fc1f 100644 --- a/packages/features/bookings/lib/payment/getBooking.ts +++ b/packages/features/bookings/lib/payment/getBooking.ts @@ -90,6 +90,8 @@ export async function getBooking(bookingId: number) { }, seatsPerTimeSlot: true, seatsShowAttendees: true, + disableCancelling: true, + disableRescheduling: true, }, }, metadata: true, @@ -200,6 +202,8 @@ export async function getBooking(bookingId: number) { customReplyToEmail: booking.eventType?.customReplyToEmail, seatsPerTimeSlot: booking.eventType?.seatsPerTimeSlot, seatsShowAttendees: booking.eventType?.seatsShowAttendees, + disableCancelling: booking.eventType?.disableCancelling ?? false, + disableRescheduling: booking.eventType?.disableRescheduling ?? false, }; return { diff --git a/packages/trpc/server/routers/viewer/bookings/confirm.handler.ts b/packages/trpc/server/routers/viewer/bookings/confirm.handler.ts index 511805852a..e4f6a4a979 100644 --- a/packages/trpc/server/routers/viewer/bookings/confirm.handler.ts +++ b/packages/trpc/server/routers/viewer/bookings/confirm.handler.ts @@ -155,6 +155,8 @@ export const confirmHandler = async ({ ctx, input }: ConfirmOptions) => { hideCalendarNotes: true, hideCalendarEventDetails: true, disableGuests: true, + disableCancelling: true, + disableRescheduling: true, customReplyToEmail: true, seatsPerTimeSlot: true, seatsShowAttendees: true, @@ -331,6 +333,8 @@ export const confirmHandler = async ({ ctx, input }: ConfirmOptions) => { customReplyToEmail: booking.eventType?.customReplyToEmail, seatsPerTimeSlot: booking.eventType?.seatsPerTimeSlot, seatsShowAttendees: booking.eventType?.seatsShowAttendees, + disableCancelling: booking.eventType?.disableCancelling ?? false, + disableRescheduling: booking.eventType?.disableRescheduling ?? false, team: booking.eventType?.team ? { name: booking.eventType.team.name,