Fixed every x weekly

This commit is contained in:
Keith Holliday
2017-05-18 10:11:29 -06:00
parent 388861b503
commit 7f2719a75c

View File

@@ -128,15 +128,14 @@ export function shouldDo (day, dailyTask, options = {}) {
} else if (dailyTask.frequency === 'weekly') { } else if (dailyTask.frequency === 'weekly') {
let schedule = moment(startDate).recur(); let schedule = moment(startDate).recur();
if (dailyTask.everyX > 1) { let differenceInWeeks = moment(day).week() - moment(startDate).week();
schedule = schedule.every(dailyTask.everyX).weeks(); let matchEveryX = differenceInWeeks % dailyTask.everyX === 0;
}
schedule = schedule.every(daysOfTheWeek).daysOfWeek(); schedule = schedule.every(daysOfTheWeek).daysOfWeek();
if (options.nextDue) return schedule.fromDate(startOfDayWithCDSTime).next(3); if (options.nextDue) return schedule.fromDate(startOfDayWithCDSTime).next(3);
return schedule.matches(startOfDayWithCDSTime); return schedule.matches(startOfDayWithCDSTime) && matchEveryX;
} else if (dailyTask.frequency === 'monthly') { } else if (dailyTask.frequency === 'monthly') {
let schedule = moment(startDate).recur(); let schedule = moment(startDate).recur();