From af51ce18908b304a80bc35170cd32ebb8a078d6a Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Tue, 1 Apr 2025 20:00:02 -0400 Subject: [PATCH] chore: Salesforce - handle checkbox type fields (#20490) * Add checkbox field type * Handle accepting booleans under value field when saving writing to field settings * UI saving settings to write to checkbox field * Prepare update body to pass boolean value to checkbox field * Type fixes * Type fix --- .../incomplete-booking/[...appPages].tsx | 4 +- .../components/EventTypeAppCardInterface.tsx | 53 ++++++++++++++++--- .../app-store/salesforce/lib/CrmService.ts | 6 ++- packages/app-store/salesforce/lib/enums.ts | 1 + packages/app-store/salesforce/zod.ts | 4 +- 5 files changed, 55 insertions(+), 13 deletions(-) diff --git a/packages/app-store/routing-forms/pages/incomplete-booking/[...appPages].tsx b/packages/app-store/routing-forms/pages/incomplete-booking/[...appPages].tsx index 557ebc8bed..cdd17b45c4 100644 --- a/packages/app-store/routing-forms/pages/incomplete-booking/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/incomplete-booking/[...appPages].tsx @@ -10,10 +10,10 @@ import { useLocale } from "@calcom/lib/hooks/useLocale"; import { IncompleteBookingActionType } from "@calcom/prisma/enums"; import { trpc } from "@calcom/trpc/react"; import type { inferSSRProps } from "@calcom/types/inferSSRProps"; +import { Button } from "@calcom/ui/components/button"; import { Switch } from "@calcom/ui/components/form"; import { InputField } from "@calcom/ui/components/form"; import { Select } from "@calcom/ui/components/form"; -import { Button } from "@calcom/ui/components/button"; import { showToast } from "@calcom/ui/components/toast"; import SingleForm, { @@ -158,7 +158,7 @@ function Page({ form }: { form: RoutingFormWithResponseCount }) { />
- +
option.value === onBookingWriteToRecordFields[key].value + )} + isDisabled={true} + /> ) : ( - + )}
@@ -380,6 +400,9 @@ const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ ...newOnBookingWriteToPersonObjectField, fieldType: e.value, ...(e.value === SalesforceFieldType.DATE && { value: dateFieldValue.value }), + ...(e.value === SalesforceFieldType.CHECKBOX && { + value: checkboxFieldValue.value, + }), }); } }} @@ -400,9 +423,23 @@ const EventTypeAppCard: EventTypeAppCardComponent = function EventTypeAppCard({ } }} /> + ) : writeToPersonObjectFieldType.value === SalesforceFieldType.CHECKBOX ? ( +