Skip to content
Snippets Groups Projects
Commit 5ad36231 authored by Mihail Hagiu's avatar Mihail Hagiu
Browse files

fix(ReviewerReminders): Changed logic

parent 78cd75cd
No related branches found
No related tags found
3 merge requests!233S26 updates,!230S26 Updates,!228feat(AutomaticReminder): ReviewerResendInvitationEmail
......@@ -41,6 +41,7 @@ const getEmailCopy = ({
We look forward to hearing from you.`
break
case 'reviewer-resend-invitation-second-reminder':
case 'reviewer-resend-invitation-third-reminder':
resend = true
upperContent = `We sent you a request to review ${titleText}; however we have not yet received your decision.
We would appreciate it if you could visit the following link to let us know whether or not you will be able to review this manuscript:`
......
const config = require('config')
const { get } = require('lodash')
const { get, forOwn } = require('lodash')
const Email = require('@pubsweet/component-email-templating')
const unsubscribeSlug = config.get('unsubscribe.url')
......@@ -13,11 +13,7 @@ const { getEmailCopy } = require('./emailCopy')
const { scheduleReminderJob } = require('../jobs/reminders')
const { scheduleRemovalJob } = require('../jobs/removal')
const reminderList = [
config.get('reminders.reviewer.first'),
config.get('reminders.reviewer.second'),
config.get('reminders.reviewer.third'),
]
const daysList = config.get('reminders.reviewer.days')
const timeUnit = config.get('reminders.reviewer.timeUnit')
const removalDays = config.get('reminders.reviewer.remove')
const daysExpected = config.get('daysExpectedForReview')
......@@ -121,11 +117,12 @@ module.exports = {
await email.sendEmail()
reminderList.forEach(reminder =>
forOwn(daysList, (day, order) =>
scheduleReminderJob({
day,
order,
email,
timeUnit,
reminder,
userId: invitedUser.id,
invitationId: invitation.id,
subject: `${subjectBaseText} reminder`,
......
......@@ -6,25 +6,25 @@ const { getEmailCopy } = require('../emails/emailCopy')
const Email = require('@pubsweet/component-email-templating')
const scheduleReminderJob = async ({
day,
email,
order,
userId,
subject,
timeUnit,
reminder,
daysList,
titleText,
invitationId,
expectedDate,
}) => {
const { days, emailType } = reminder
const executionDate = moment()
.add(days, timeUnit)
.add(day, timeUnit)
.toISOString()
const queue = `reminders-${userId}-${invitationId}`
const { paragraph, ...bodyProps } = getEmailCopy({
emailType,
emailType: `reviewer-resend-invitation-${order}-reminder`,
titleText,
expectedDate,
})
......@@ -33,7 +33,7 @@ const scheduleReminderJob = async ({
email.content.subject = subject
const params = {
days,
day,
timeUnit,
executionDate,
emailProps: cloneDeep(email),
......
......@@ -149,22 +149,12 @@ module.exports = {
),
reminders: {
reviewer: {
first: {
days: process.env.REMINDER_REVIEWER_FIRST || 4,
emailType: 'reviewer-resend-invitation-first',
},
second: {
days: process.env.REMINDER_REVIEWER_SECOND || 7,
emailType: 'reviewer-resend-invitation-second',
},
third: {
days: process.env.REMINDER_REVIEWER_THIRD || 14,
emailType: 'reviewer-resend-invitation-second',
},
remove: {
days: process.env.REMINDER_REMOVE_REVIEWER || 21,
emailType: '',
days: {
first: process.env.REMINDER_REVIEWER_FIRST || 4,
second: process.env.REMINDER_REVIEWER_SECOND || 7,
third: process.env.REMINDER_REVIEWER_THIRD || 14,
},
remove: process.env.REMINDER_REMOVE_REVIEWER || 21,
timeUnit: process.env.REMINDER_REVIEWER_TIME_UNIT || 'days',
},
},
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment