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}
*/
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.
* @param title
* @param createdBy
* @param priority
* @param description
* @param dueDate
* @param taskId
* @returns {{header, body: string, subHeader: string}}
*/
const generateTemplateArgs = (title, createdBy, dueDate, taskId) => {
const generateTemplateArgs = (title, priority, description, dueDate, taskId) => {
return {
header: title,
subHeader: `Assigned by ${createdBy} ${formatDate(dueDate)}`,
body: `<a href="${endPoints}/manage/tasks/alltasks?taskid=${taskId}">Please sign in to your account to view the Task details.</a>`
subHeader: `Priority: ${formatPriority(priority)} ${priority} ${formatDate(dueDate)}`,
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(
"assigned",
newTask.assigned_to,
`A Task has been ${dirty ? "reassigned" : "created"} for you - ${newTask.title}`,
generateEmailTemplate(generateTemplateArgs(newTask.title, newTask.created_by, newTask.due_date, newTask.id))
`A ${formatPriority(newTask.priority)} PriorityTask has been ${dirty ? "reassigned" : "created"} for you - ${newTask.title}`,
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.
@@ -217,23 +230,23 @@ const tasksRemindEmail = async (req, res) => {
const onlyTask = groupedTasks[recipient.email][0];
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(
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.
else {
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({
header: `${allTasks.length} Tasks require your attention`,
subHeader: `Please sign in to your account to view the Task details.`,
body: `<ul>
${allTasks
.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("")}
</ul>`

View File

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