From 59bccb9289b04bcc66de199d1312eb686836b476 Mon Sep 17 00:00:00 2001 From: minkyngkm Date: Wed, 17 May 2023 17:42:14 +0100 Subject: [PATCH 1/4] Send additional data to marketo --- .../components/BuyButton/BuyButton.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx index 81bdc4b5dc..023fdaa570 100644 --- a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx +++ b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx @@ -264,10 +264,26 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { proSelectorStates.forEach((state) => localStorage.removeItem(state)); + const address = userInfo + ? `${userInfo?.customerInfo?.address?.line1} ${userInfo?.customerInfo?.address?.line2} ${userInfo?.customerInfo?.address?.city} ${userInfo?.customerInfo?.address?.postal_code} ${userInfo?.customerInfo?.address?.state} ${userInfo?.customerInfo?.address?.country}` + : `${values?.address} ${values?.postalCode} ${values?.city} ${values?.usState} ${values?.caProvince} ${values?.country}`; + const request = new XMLHttpRequest(); const formData = new FormData(); formData.append("formid", "3756"); - formData.append("email", userInfo?.customerInfo?.email ?? ""); + formData.append( + "name", + (userInfo?.customerInfo?.name || values.organisationName) ?? "" + ); + formData.append( + "email", + (userInfo?.customerInfo?.email || values.email) ?? "" + ); + formData.append( + "company", + (userInfo?.accountInfo?.name || values.name) ?? "" + ); + formData.append("address", address ?? ""); formData.append("Consent_to_Processing__c", "yes"); formData.append("GCLID__c", sessionData?.gclid || ""); formData.append("utm_campaign", sessionData?.utm_campaign || ""); From 92adf5899c1960f15a8fbcc37d9cbb78266d26f5 Mon Sep 17 00:00:00 2001 From: minkyngkm Date: Mon, 22 May 2023 11:48:36 +0100 Subject: [PATCH 2/4] Create getName function --- .../components/BuyButton/BuyButton.tsx | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx index 023fdaa570..d21e26b298 100644 --- a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx +++ b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx @@ -193,7 +193,7 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { } ); }; - + console.log("userInfo", userInfo); useEffect(() => { // the initial call was successful but it returned an error while polling the purchase status if (purchaseError) { @@ -268,20 +268,41 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { ? `${userInfo?.customerInfo?.address?.line1} ${userInfo?.customerInfo?.address?.line2} ${userInfo?.customerInfo?.address?.city} ${userInfo?.customerInfo?.address?.postal_code} ${userInfo?.customerInfo?.address?.state} ${userInfo?.customerInfo?.address?.country}` : `${values?.address} ${values?.postalCode} ${values?.city} ${values?.usState} ${values?.caProvince} ${values?.country}`; + const getName = () => { + if (userInfo?.customerInfo?.name) { + if (userInfo?.customerInfo?.name.split(" ").length === 2) { + formData.append( + "fisrtName", + userInfo?.customerInfo?.name.split(" ")[0] ?? "" + ); + formData.append( + "lastName", + userInfo?.customerInfo?.name.split(" ")[1] ?? "" + ); + } else { + formData.append("lastName", userInfo?.customerInfo?.name ?? ""); + } + } else { + if (values?.name && values?.name.split(" ").length === 2) { + formData.append("firstName", values.name.split(" ")[0] ?? ""); + formData.append("lastName", values.name.split(" ")[1] ?? ""); + } else { + formData.append("lastName", values?.name ?? ""); + } + } + }; + const request = new XMLHttpRequest(); const formData = new FormData(); formData.append("formid", "3756"); - formData.append( - "name", - (userInfo?.customerInfo?.name || values.organisationName) ?? "" - ); + getName(); formData.append( "email", (userInfo?.customerInfo?.email || values.email) ?? "" ); formData.append( "company", - (userInfo?.accountInfo?.name || values.name) ?? "" + (userInfo?.accountInfo?.name || values?.organisationName) ?? "" ); formData.append("address", address ?? ""); formData.append("Consent_to_Processing__c", "yes"); From 260ba328dc262b3b29ef6d21f240ae6883b10602 Mon Sep 17 00:00:00 2001 From: minkyngkm Date: Mon, 22 May 2023 12:00:27 +0100 Subject: [PATCH 3/4] Refactor getName function --- .../components/BuyButton/BuyButton.tsx | 26 +++++-------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx index d21e26b298..b54644d485 100644 --- a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx +++ b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx @@ -193,7 +193,7 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { } ); }; - console.log("userInfo", userInfo); + useEffect(() => { // the initial call was successful but it returned an error while polling the purchase status if (purchaseError) { @@ -269,26 +269,12 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { : `${values?.address} ${values?.postalCode} ${values?.city} ${values?.usState} ${values?.caProvince} ${values?.country}`; const getName = () => { - if (userInfo?.customerInfo?.name) { - if (userInfo?.customerInfo?.name.split(" ").length === 2) { - formData.append( - "fisrtName", - userInfo?.customerInfo?.name.split(" ")[0] ?? "" - ); - formData.append( - "lastName", - userInfo?.customerInfo?.name.split(" ")[1] ?? "" - ); - } else { - formData.append("lastName", userInfo?.customerInfo?.name ?? ""); - } + const name = userInfo?.customerInfo?.name || values?.name; + if (name && name.split(" ").length === 2) { + formData.append("firstName", name.split(" ")[0] ?? ""); + formData.append("lastName", name.split(" ")[1] ?? ""); } else { - if (values?.name && values?.name.split(" ").length === 2) { - formData.append("firstName", values.name.split(" ")[0] ?? ""); - formData.append("lastName", values.name.split(" ")[1] ?? ""); - } else { - formData.append("lastName", values?.name ?? ""); - } + formData.append("lastName", name ?? ""); } }; From bea4735b6434e45333fcaf8771f3e6cd4b47cdc8 Mon Sep 17 00:00:00 2001 From: minkyngkm Date: Mon, 22 May 2023 15:39:29 +0100 Subject: [PATCH 4/4] Update field name --- .../subscribe/checkout/components/BuyButton/BuyButton.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx index b54644d485..fbecd056aa 100644 --- a/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx +++ b/static/js/src/advantage/subscribe/checkout/components/BuyButton/BuyButton.tsx @@ -274,6 +274,7 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { formData.append("firstName", name.split(" ")[0] ?? ""); formData.append("lastName", name.split(" ")[1] ?? ""); } else { + formData.append("firstName", ""); formData.append("lastName", name ?? ""); } }; @@ -290,7 +291,7 @@ const BuyButton = ({ setError, quantity, product, action }: Props) => { "company", (userInfo?.accountInfo?.name || values?.organisationName) ?? "" ); - formData.append("address", address ?? ""); + formData.append("street", address ?? ""); formData.append("Consent_to_Processing__c", "yes"); formData.append("GCLID__c", sessionData?.gclid || ""); formData.append("utm_campaign", sessionData?.utm_campaign || "");