From cafca35500dde29d69c0d392e134983b2e46a7c9 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Mon, 23 Sep 2024 18:02:17 -0700 Subject: [PATCH] IO-2957 Resolve task reminders not sending with incorrect references. --- server/email/tasksEmails.js | 12 +++++----- server/intellipay/intellipay.js | 40 ++++++++++++++++++++------------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/server/email/tasksEmails.js b/server/email/tasksEmails.js index a106085f7..1f508be31 100644 --- a/server/email/tasksEmails.js +++ b/server/email/tasksEmails.js @@ -95,11 +95,11 @@ const formatPriority = (priority) => { * @returns {{header, body: string, subHeader: string}} */ -const getEndpoints = () => +const getEndpoints = (bodyshop) => InstanceManager({ imex: process.env?.NODE_ENV === "test" ? "https://test.imex.online" : "https://imex.online", rome: - bodyshop.convenient_company === "promanager" + bodyshop?.convenient_company === "promanager" ? process.env?.NODE_ENV === "test" ? "https//test.promanager.web-est.com" : "https://promanager.web-est.com" @@ -109,7 +109,7 @@ const getEndpoints = () => }); const generateTemplateArgs = (title, priority, description, dueDate, bodyshop, job, taskId) => { - const endPoints = getEndpoints(); + const endPoints = getEndpoints(bodyshop); return { header: title, subHeader: `Body Shop: ${bodyshop.shopname} | Priority: ${formatPriority(priority)} ${formatDate(dueDate)}`, @@ -247,7 +247,7 @@ const tasksRemindEmail = async (req, res) => { const fromEmails = InstanceManager({ imex: "ImEX Online ", rome: - onlyTask.bodyshop.convenient_company === "promanager" + tasksRequest?.tasks[0].bodyshop.convenient_company === "promanager" ? "ProManager " : "Rome Online " }); @@ -283,7 +283,7 @@ const tasksRemindEmail = async (req, res) => { const endPoints = InstanceManager({ imex: process.env?.NODE_ENV === "test" ? "https://test.imex.online" : "https://imex.online", rome: - allTasks[0].bodyshop.convenient_company === "promanager" + tasksRequest?.tasks[0].bodyshop.convenient_company === "promanager" ? process.env?.NODE_ENV === "test" ? "https//test.promanager.web-est.com" : "https://promanager.web-est.com" @@ -320,7 +320,7 @@ const tasksRemindEmail = async (req, res) => { tasksEmailQueue.push(taskId); } }, - allTasks[0].bodyshop.convenient_company + tasksRequest?.tasks[0].bodyshop.convenient_company ); } }); diff --git a/server/intellipay/intellipay.js b/server/intellipay/intellipay.js index 60319ed29..3c6289b9b 100644 --- a/server/intellipay/intellipay.js +++ b/server/intellipay/intellipay.js @@ -207,22 +207,30 @@ exports.postback = async (req, res) => { if (values.origin === "OneLink" && parsedComment.userEmail) { //Send an email, it was a text to pay link. - const endPoints = getEndpoints(); - sendTaskEmail({ - to: parsedComment.userEmail, - subject: `New Payment(s) Received - RO ${jobs.jobs.map((j) => j.ro_number).join(", ")}`, - type: "html", - html: generateEmailTemplate({ - header: "New Payment(s) Received", - subHeader: "", - body: jobs.jobs - .map( - (job) => - `Reference: ${job.ro_number || "N/A"} | ${job.ownr_co_nm ? job.ownr_co_nm : `${job.ownr_fn || ""} ${job.ownr_ln || ""}`.trim()} | ${`${job.v_model_yr || ""} ${job.v_make_desc || ""} ${job.v_model_desc || ""}`.trim()} | $${partialPayments.find((p) => p.jobid === job.id).amount}` - ) - .join("
") - }) - }); + try { + const endPoints = getEndpoints(); + sendTaskEmail({ + to: parsedComment.userEmail, + subject: `New Payment(s) Received - RO ${jobs.jobs.map((j) => j.ro_number).join(", ")}`, + type: "html", + html: generateEmailTemplate({ + header: "New Payment(s) Received", + subHeader: "", + body: jobs.jobs + .map( + (job) => + `Reference: ${job.ro_number || "N/A"} | ${job.ownr_co_nm ? job.ownr_co_nm : `${job.ownr_fn || ""} ${job.ownr_ln || ""}`.trim()} | ${`${job.v_model_yr || ""} ${job.v_make_desc || ""} ${job.v_model_desc || ""}`.trim()} | $${partialPayments.find((p) => p.jobid === job.id).amount}` + ) + .join("
") + }) + }); + } catch (error) { + logger.log("intellipay-postback-app-email-error", "DEBUG", req.user?.email, JSON.stringify(jobs), { + iprequest: values, + paymentResult, + error: error.message + }); + } } res.sendStatus(200); } else if (values.invoice) {