From 55465a035fd0fc8f0d02dbc7e0fcbb270c9d32de Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Mon, 8 Apr 2024 18:02:03 +0530 Subject: [PATCH] fix: add function to hcnage variable string name to variable value for email body and subject --- apps/OpenSign/src/constant/Utils.js | 22 +++++++++ apps/OpenSign/src/constant/const.js | 3 +- apps/OpenSign/src/pages/PdfRequestFiles.js | 55 +++++++++------------- apps/OpenSign/src/pages/PlaceHolderSign.js | 50 +++++++++----------- 4 files changed, 68 insertions(+), 62 deletions(-) diff --git a/apps/OpenSign/src/constant/Utils.js b/apps/OpenSign/src/constant/Utils.js index 5c220092f..e8bea0151 100644 --- a/apps/OpenSign/src/constant/Utils.js +++ b/apps/OpenSign/src/constant/Utils.js @@ -1840,3 +1840,25 @@ export const getTenantDetails = async (objectId) => { return "user does not exist!"; } }; + +//function to convert variable string name to variable value of email body and subject +export function replaceMailVaribles(subject, body, variables) { + let replacedSubject = subject; + let replacedBody = body; + + for (const variable in variables) { + const regex = new RegExp(`{{${variable}}}`, "g"); + if (subject) { + replacedSubject = replacedSubject.replace(regex, variables[variable]); + } + if (body) { + replacedBody = replacedBody.replace(regex, variables[variable]); + } + } + + const result = { + subject: replacedSubject, + body: replacedBody + }; + return result; +} diff --git a/apps/OpenSign/src/constant/const.js b/apps/OpenSign/src/constant/const.js index a046b4ae1..d74c33337 100644 --- a/apps/OpenSign/src/constant/const.js +++ b/apps/OpenSign/src/constant/const.js @@ -9,4 +9,5 @@ export const modalSubmitBtnColor = "#17a2b8"; export const modalCancelBtnColor = "white"; export const themeColor = "#47a3ad"; export const iconColor = "#686968"; -export const isEnableSubscription = process.env.REACT_APP_ENABLE_SUBSCRIPTION; +export const isEnableSubscription = false; +// process.env.REACT_APP_ENABLE_SUBSCRIPTION; diff --git a/apps/OpenSign/src/pages/PdfRequestFiles.js b/apps/OpenSign/src/pages/PdfRequestFiles.js index b27f62ca8..bc64c7766 100644 --- a/apps/OpenSign/src/pages/PdfRequestFiles.js +++ b/apps/OpenSign/src/pages/PdfRequestFiles.js @@ -21,7 +21,8 @@ import { onSaveSign, onSaveImage, addDefaultSignatureImg, - radioButtonWidget + radioButtonWidget, + replaceMailVaribles } from "../constant/Utils"; import Loader from "../primitives/LoaderWithMsg"; import HandleError from "../primitives/HandleError"; @@ -605,7 +606,6 @@ function PdfRequestFiles() { let senderEmail = pdfDetails?.[0].ExtUserPtr.Email; let senderPhone = pdfDetails?.[0]?.ExtUserPtr?.Phone; const senderName = `${pdfDetails?.[0].ExtUserPtr.Name}`; - let emailBodyWithValue, emailSubjectWithValue; try { const imgPng = @@ -633,6 +633,7 @@ function PdfRequestFiles() { ? pdfDetails[0].ExtUserPtr.Company : ""; const themeBGcolor = themeColor; + let replaceVar; if ( requestBody && requestSubject && @@ -647,46 +648,34 @@ function PdfRequestFiles() { replacedRequestBody + " "; - emailBodyWithValue = htmlReqBody - .replace(/\{{sender_name}}/g, senderName) - .replace(/\{{document_title}}/g, pdfDetails?.[0].Name) - .replace( - /\{{signing_url}}/g, - `Sign here` - ) - .replace(/\{{sender_mail}}/g, senderEmail) - .replace(/\{{sender_phone}}/g, senderPhone) - .replace(/\{{expiry_date}}}/g, localExpireDate) - .replace(/\{{company_name}}/g, orgName) - .replace(/\{{receiver_name}}/g, user.Name) - .replace(/\{{receiver_email}}/g, user.Email) - .replace(/\{{receiver_phone}}/g, user.Phone); - - emailSubjectWithValue = requestSubject - .replace(/\{{sender_name}}/g, senderName) - .replace(/\{{document_title}}/g, pdfDetails?.[0].Name) - .replace( - /\{{signing_url}}/g, - `Sign here` - ) - .replace(/\{{sender_mail}}/g, senderEmail) - .replace(/\{{sender_phone}}/g, senderPhone) - .replace(/\{{expiry_date}}}/g, localExpireDate) - .replace(/\{{company_name}}/g, orgName) - .replace(/\{{receiver_name}}/g, user.Name) - .replace(/\{{receiver_email}}/g, user.Email) - .replace(/\{{receiver_phone}}/g, user.Phone); + const variables = { + document_title: pdfDetails?.[0].Name, + sender_name: senderName, + sender_mail: senderEmail, + sender_phone: senderPhone, + receiver_name: user.Name, + receiver_email: user.Email, + receiver_phone: user.Phone, + expiry_date: localExpireDate, + company_name: orgName, + signing_url: `Sign here` + }; + replaceVar = replaceMailVaribles( + requestSubject, + htmlReqBody, + variables + ); } let params = { extUserId: extUserId, recipient: user.Email, subject: requestSubject - ? emailSubjectWithValue + ? replaceVar?.subject : `${pdfDetails?.[0].ExtUserPtr.Name} has requested you to sign ${pdfDetails?.[0].Name}`, from: senderEmail, html: requestBody - ? emailBodyWithValue + ? replaceVar?.body : "