From 07a4aa6c7d1fe622bb4844df6bdbb623b21b7bfe Mon Sep 17 00:00:00 2001 From: Shakti Nayak Date: Mon, 24 Feb 2025 22:01:32 +0530 Subject: [PATCH] fix: Fix for 'Scheduling by cal.com' is still showing in workflow emails even when branding is disabled (#18862) * Branding Disabling on Team Workflows and Organization Workflows if branding is hidden * update * update --------- Co-authored-by: unknown Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> --- .../workflows/api/scheduleEmailReminders.ts | 20 +++++++++++++++---- .../ee/workflows/lib/getWorkflowReminders.ts | 3 ++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/packages/features/ee/workflows/api/scheduleEmailReminders.ts b/packages/features/ee/workflows/api/scheduleEmailReminders.ts index 4e1cae4b7f..f8adcd309d 100644 --- a/packages/features/ee/workflows/api/scheduleEmailReminders.ts +++ b/packages/features/ee/workflows/api/scheduleEmailReminders.ts @@ -214,12 +214,16 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { ), }; const emailLocale = locale || "en"; + const brandingDisabled = reminder.booking.eventType?.team + ? !!reminder.booking.eventType?.team?.hideBranding + : !!reminder.booking.user?.hideBranding; + const emailSubject = customTemplate( reminder.workflowStep.emailSubject || "", variables, emailLocale, getTimeFormatStringFromUserTimeFormat(reminder.booking.user?.timeFormat), - !!reminder.booking.user?.hideBranding + brandingDisabled ).text; emailContent.emailSubject = emailSubject; emailContent.emailBody = customTemplate( @@ -227,7 +231,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { variables, emailLocale, getTimeFormatStringFromUserTimeFormat(reminder.booking.user?.timeFormat), - !!reminder.booking.user?.hideBranding + brandingDisabled ).html; emailBodyEmpty = @@ -238,6 +242,10 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { getTimeFormatStringFromUserTimeFormat(reminder.booking.user?.timeFormat) ).text.length === 0; } else if (reminder.workflowStep.template === WorkflowTemplates.REMINDER) { + const brandingDisabled = reminder.booking.eventType?.team + ? !!reminder.booking.eventType?.team?.hideBranding + : !!reminder.booking.user?.hideBranding; + emailContent = emailReminderTemplate( false, reminder.booking.user?.locale || "en", @@ -251,7 +259,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { bookingMetadataSchema.parse(reminder.booking.metadata || {})?.videoCallUrl || "", attendeeName || "", name || "", - !!reminder.booking.user?.hideBranding + brandingDisabled ); } else if (reminder.workflowStep.template === WorkflowTemplates.RATING) { const organizerOrganizationProfile = await prisma.profile.findFirst({ @@ -368,6 +376,10 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { const emailBodyEmpty = false; + const brandingDisabled = reminder.booking.eventType?.team + ? !!reminder.booking.eventType?.team?.hideBranding + : !!reminder.booking.user?.hideBranding; + emailContent = emailReminderTemplate( false, reminder.booking.user?.locale || "en", @@ -381,7 +393,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { bookingMetadataSchema.parse(reminder.booking.metadata || {})?.videoCallUrl || "", attendeeName || "", name || "", - !!reminder.booking.user?.hideBranding + brandingDisabled ); if (emailContent.emailSubject.length > 0 && !emailBodyEmpty && sendTo) { const batchId = await getBatchId(); diff --git a/packages/features/ee/workflows/lib/getWorkflowReminders.ts b/packages/features/ee/workflows/lib/getWorkflowReminders.ts index 3de166b014..8e045c5dd0 100644 --- a/packages/features/ee/workflows/lib/getWorkflowReminders.ts +++ b/packages/features/ee/workflows/lib/getWorkflowReminders.ts @@ -32,7 +32,7 @@ type PartialBooking = eventType: | (Partial & { slug: string; - team: { parentId?: number }; + team: { parentId?: number; hideBranding: boolean }; hosts: { user: { email: string; destinationCalendar?: { primaryEmail: string } } }[] | undefined; }) | null; @@ -186,6 +186,7 @@ export const select: Prisma.WorkflowReminderSelect = { team: { select: { parentId: true, + hideBranding: true, }, }, },