diff --git a/server/notifications/scenarioBuilders.js b/server/notifications/scenarioBuilders.js index 18cf8cfe9..4adf6eede 100644 --- a/server/notifications/scenarioBuilders.js +++ b/server/notifications/scenarioBuilders.js @@ -30,7 +30,7 @@ const populateWatchers = (data, result) => { * Builds notification data for changes to alternate transport. */ const alternateTransportChangedBuilder = (data) => { - const body = `The Alternate Transport status has been updated from ${data.changedFields.alt_transport?.old || "unset"} to ${data?.changedFields?.alt_transport?.new || "unset"}.`; + const body = `The alternate transportation has been changed from ${data.changedFields.alt_transport?.old || "unset"} to ${data?.changedFields?.alt_transport?.new || "unset"}.`; const result = { app: { jobId: data.jobId, @@ -62,8 +62,8 @@ const alternateTransportChangedBuilder = (data) => { * Builds notification data for bill posted events. */ const billPostedHandler = (data) => { - const facing = data?.data?.isinhouse ? "In-House" : "External"; - const body = `An ${facing} Bill has been posted${data?.data?.is_credit_memo ? " (Credit Memo)" : ""}.`.trim(); + const facing = data?.data?.isinhouse ? "in-house" : "vendor"; + const body = `An ${facing} ${data?.data?.is_credit_memo ? "credit memo" : "bill"} has been posted.`.trim(); const result = { app: { @@ -97,7 +97,7 @@ const billPostedHandler = (data) => { */ // const criticalPartsStatusChangedBuilder = (data) => { - const body = `A Critical Job Line status has been changed."`; + const body = `The status on a critical part line (${data?.data?.line_desc}) has changed to ${data?.data?.status || "unset"}.`; const result = { app: { @@ -107,7 +107,9 @@ const criticalPartsStatusChangedBuilder = (data) => { key: "notifications.job.criticalPartsStatusChanged", body, variables: { - joblineId: data?.data?.id // If we want to deeplink to the jobline + joblineId: data?.data?.id, // If we want to deeplink to the jobline + status: data?.data?.status, + line_desc: data?.data?.line_desc }, recipients: [] }, @@ -129,7 +131,7 @@ const criticalPartsStatusChangedBuilder = (data) => { * Builds notification data for completed intake or delivery checklists. */ const intakeDeliveryChecklistCompletedBuilder = (data) => { - const checklistType = data?.changedFields?.intakechecklist ? "Intake" : "Delivery"; + const checklistType = data?.changedFields?.intakechecklist ? "intake" : "delivery"; const body = `The ${checklistType.charAt(0).toUpperCase() + checklistType.slice(1)} checklist has been completed.`; const result = { app: { @@ -193,7 +195,7 @@ const jobAssignedToMeBuilder = (data) => { * Builds notification data for jobs added to production. */ const jobsAddedToProductionBuilder = (data) => { - const body = `Has been added to Production.`; + const body = `Job is now in production.`; const result = { app: { jobId: data.jobId, @@ -297,7 +299,7 @@ const newNoteAddedBuilder = (data) => { data?.data?.critical && "critical", data?.data?.private && "private", data?.data?.type, - "Note has been added by", + "note has been added by", `${data.data.created_by}` ] .filter(Boolean) @@ -337,8 +339,7 @@ const newNoteAddedBuilder = (data) => { */ const newTimeTicketPostedBuilder = (data) => { const type = data?.data?.cost_center; - const body = - `A ${startCase(type.toLowerCase())} Time Ticket for ${data?.data?.date} has been posted${data?.data?.flat_rate ? " (Flat Rate)" : ""}.`.trim(); + const body = `A ${startCase(type.toLowerCase())} time ticket for ${data?.data?.date} has been posted.`.trim(); const result = { app: { @@ -349,8 +350,7 @@ const newTimeTicketPostedBuilder = (data) => { body, variables: { type, - date: data?.data?.date, - flatRate: data?.data?.flat_rate + date: data?.data?.date }, recipients: [] }, @@ -372,7 +372,7 @@ const newTimeTicketPostedBuilder = (data) => { * Builds notification data for parts marked as back-ordered. */ const partMarkedBackOrderedBuilder = (data) => { - const body = `A part has been marked as back-ordered.`; + const body = `A part ${data?.data?.line_desc} has been marked as back-ordered.`; const result = { app: { jobId: data.jobId, @@ -380,7 +380,9 @@ const partMarkedBackOrderedBuilder = (data) => { bodyShopId: data.bodyShopId, key: "notifications.job.partBackOrdered", body, - variables: {}, + variables: { + line_desc: data?.data?.line_desc + }, recipients: [] }, email: { @@ -519,7 +521,7 @@ const tasksUpdatedCreatedBuilder = (data) => { const createdBy = data?.data?.created_by || "Unknown"; // Fallback for undefined created_by const dueDate = data.data.due_date ? ` due on ${moment(data.data.due_date).tz(timezone).format(momentFormat)}` : ""; const completedOnCreation = data.data.completed === true; - body = `A ${priority} Task ${taskTitle} has been created${completedOnCreation ? " and marked completed" : ""} by ${createdBy}${dueDate}`; + body = `A ${priority} task ${taskTitle} has been created${completedOnCreation ? " and marked completed" : ""} by ${createdBy}${dueDate}.`; variables = { isNew: data.isNew, roNumber: data.jobRoNumber, @@ -549,19 +551,19 @@ const tasksUpdatedCreatedBuilder = (data) => { const fieldMessages = []; if (changedFields.title) { - fieldMessages.push(`Task ${oldTitle} changed title to "${changedFields.title.new || "Unnamed Task"}"`); + fieldMessages.push(`Task ${oldTitle} changed title to "${changedFields.title.new || "unnamed task"}".`); } if (changedFields.description) { - fieldMessages.push("Description Updated"); + fieldMessages.push("Description updated."); } if (changedFields.priority) { - fieldMessages.push(`Priority changed to ${formatTaskPriority(changedFields.priority.new)}`); + fieldMessages.push(`Priority changed to ${formatTaskPriority(changedFields.priority.new)}.`); } if (changedFields.due_date) { - fieldMessages.push(`Due date set to ${moment(changedFields.due_date.new).tz(timezone).format(momentFormat)}`); + fieldMessages.push(`Due date set to ${moment(changedFields.due_date.new).tz(timezone).format(momentFormat)}.`); } if (changedFields.completed) { - fieldMessages.push(`Status changed to ${changedFields.completed.new ? "complete" : "incomplete"}`); + fieldMessages.push(`Status changed to ${changedFields.completed.new ? "complete" : "incomplete"}.`); } body =