From 3131318b6acc8989446c3b7f2d69602177366f2e Mon Sep 17 00:00:00 2001 From: Eunjae Lee Date: Tue, 27 May 2025 17:35:16 +0200 Subject: [PATCH] fix: hide organizer info on rescheduled events (#21541) * fix(email): hide organizer info on rescheduled events * hide organizer email on bookings-single-view * replace organizer email with name * sanitize previous booking only * clean up code * fix dumb error --- .../bookings-single-view.getServerSideProps.tsx | 10 +++++++++- .../emails/src/templates/BaseScheduledEmail.tsx | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/apps/web/modules/bookings/views/bookings-single-view.getServerSideProps.tsx b/apps/web/modules/bookings/views/bookings-single-view.getServerSideProps.tsx index d31935137b..4e399dba9d 100644 --- a/apps/web/modules/bookings/views/bookings-single-view.getServerSideProps.tsx +++ b/apps/web/modules/bookings/views/bookings-single-view.getServerSideProps.tsx @@ -217,6 +217,14 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { const internalNotes = await getInternalNotePresets(eventType.team?.id ?? eventType.parent?.teamId ?? null); + // Filter out organizer information if hideOrganizerEmail is true + const sanitizedPreviousBooking = + eventType.hideOrganizerEmail && + previousBooking && + previousBooking.rescheduledBy === bookingInfo.user?.email + ? { ...previousBooking, rescheduledBy: bookingInfo.user?.name } + : previousBooking; + return { props: { orgSlug: currentOrgDomain, @@ -227,7 +235,7 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { recurringBookings: await getRecurringBookings(bookingInfo.recurringEventId), dynamicEventName: bookingInfo?.eventType?.eventName || "", bookingInfo, - previousBooking, + previousBooking: sanitizedPreviousBooking, paymentStatus: payment, ...(tz && { tz }), userTimeFormat, diff --git a/packages/emails/src/templates/BaseScheduledEmail.tsx b/packages/emails/src/templates/BaseScheduledEmail.tsx index fc35c87d05..37056c6829 100644 --- a/packages/emails/src/templates/BaseScheduledEmail.tsx +++ b/packages/emails/src/templates/BaseScheduledEmail.tsx @@ -50,6 +50,18 @@ export const BaseScheduledEmail = ( )}, ${t(getRecipientStart("MMMM").toLowerCase())} ${getRecipientStart("D, YYYY")}`, }); + let rescheduledBy = props.calEvent.rescheduledBy; + if ( + rescheduledBy && + rescheduledBy === props.calEvent.organizer.email && + props.calEvent.hideOrganizerEmail + ) { + const personWhoRescheduled = [props.calEvent.organizer, ...props.calEvent.attendees].find( + (person) => person.email === rescheduledBy + ); + rescheduledBy = personWhoRescheduled?.name; + } + return ( )} - {props.calEvent.rescheduledBy && ( - - )} + {rescheduledBy && }