IO-2667 Adjust Email messages

Signed-off-by: Allan Carr <allan.carr@thinkimex.com>
This commit is contained in:
Allan Carr
2024-04-18 18:25:52 -07:00
parent 57b3b3a9cd
commit 0b9f718106
2 changed files with 25 additions and 11 deletions

View File

@@ -80,22 +80,33 @@ const endPoints = InstanceManager({
* @returns {string|string} * @returns {string|string}
*/ */
const formatDate = (date) => { const formatDate = (date) => {
return date ? `| Due on ${moment(date).format("MM/DD/YYYY")}` : ""; return date ? `| Due on: ${moment(date).format("MM/DD/YYYY")}` : "";
};
const formatPriority = (priority) => {
if (priority === 1) {
return "High";
} else if (priority === 3) {
return "Low";
} else {
return "Medium";
}
}; };
/** /**
* Generate the email template arguments. * Generate the email template arguments.
* @param title * @param title
* @param createdBy * @param priority
* @param description
* @param dueDate * @param dueDate
* @param taskId * @param taskId
* @returns {{header, body: string, subHeader: string}} * @returns {{header, body: string, subHeader: string}}
*/ */
const generateTemplateArgs = (title, createdBy, dueDate, taskId) => { const generateTemplateArgs = (title, priority, description, dueDate, taskId) => {
return { return {
header: title, header: title,
subHeader: `Assigned by ${createdBy} ${formatDate(dueDate)}`, subHeader: `Priority: ${formatPriority(priority)} ${priority} ${formatDate(dueDate)}`,
body: `<a href="${endPoints}/manage/tasks/alltasks?taskid=${taskId}">Please sign in to your account to view the Task details.</a>` body: `${description}<br><a href="${endPoints}/manage/tasks/alltasks?taskid=${taskId}">Please sign in to your account to view the further details of the Task.</a>`
}; };
}; };
@@ -155,8 +166,10 @@ const taskAssignedEmail = async (req, res) => {
sendMail( sendMail(
"assigned", "assigned",
newTask.assigned_to, newTask.assigned_to,
`A Task has been ${dirty ? "reassigned" : "created"} for you - ${newTask.title}`, `A ${formatPriority(newTask.priority)} PriorityTask has been ${dirty ? "reassigned" : "created"} for you - ${newTask.title}`,
generateEmailTemplate(generateTemplateArgs(newTask.title, newTask.created_by, newTask.due_date, newTask.id)) generateEmailTemplate(
generateTemplateArgs(newTask.title, newTask.priority, newTask.description, newTask.due_date, newTask.id)
)
); );
// We return success regardless because we don't want to block the event trigger. // We return success regardless because we don't want to block the event trigger.
@@ -217,23 +230,23 @@ const tasksRemindEmail = async (req, res) => {
const onlyTask = groupedTasks[recipient.email][0]; const onlyTask = groupedTasks[recipient.email][0];
emailData.subject = emailData.subject =
`New Task Reminder - ${onlyTask.title} ${onlyTask.due_date ? `- ${formatDate(onlyTask.due_date)}` : ""}`.trim(); `New ${formatPriority(onlyTask.priority)} Priority Task Reminder - ${onlyTask.title} ${onlyTask.due_date ? `- ${formatDate(onlyTask.due_date)}` : ""}`.trim();
emailData.html = generateEmailTemplate( emailData.html = generateEmailTemplate(
generateTemplateArgs(onlyTask.title, onlyTask.created_by, onlyTask.due_date, onlyTask.id) generateTemplateArgs(onlyTask.title, onlyTask.priority, onlyTask.description, onlyTask.due_date, onlyTask.id)
); );
} }
// There are multiple emails to send to this author. // There are multiple emails to send to this author.
else { else {
const allTasks = groupedTasks[recipient.email]; const allTasks = groupedTasks[recipient.email];
emailData.subject = `New Task Reminder - ${allTasks.length} Tasks require your attention`; emailData.subject = `New Tasks Reminder - ${allTasks.length} Tasks require your attention`;
emailData.html = generateEmailTemplate({ emailData.html = generateEmailTemplate({
header: `${allTasks.length} Tasks require your attention`, header: `${allTasks.length} Tasks require your attention`,
subHeader: `Please sign in to your account to view the Task details.`, subHeader: `Please sign in to your account to view the Task details.`,
body: `<ul> body: `<ul>
${allTasks ${allTasks
.map((task) => .map((task) =>
`<li><a href="${endPoints}/manage/tasks/alltasks?taskid=${task.id}">${task.title} ${task.due_date ? `- ${formatDate(task.due_date)}` : ""}</a></li>`.trim() `<li><a href="${endPoints}/manage/tasks/alltasks?taskid=${task.id}">${task.title} - Priority: ${formatPriority(task.priority)} ${task.due_date ? `${formatDate(task.due_date)}` : ""}</a></li>`.trim()
) )
.join("")} .join("")}
</ul>` </ul>`

View File

@@ -2407,6 +2407,7 @@ exports.QUERY_REMIND_TASKS = `
) { ) {
id id
title title
description
due_date due_date
created_by created_by
assigned_to assigned_to