diff options
author | Lauri Ojansivu <x@xet7.org> | 2019-09-28 14:56:51 +0300 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2019-09-28 14:56:51 +0300 |
commit | 5d6c68a9cfe1e83b884e3884e17d5ed82d6f5b98 (patch) | |
tree | 9f2a26c68e81419d469d33693217aa492ec26081 /models/cards.js | |
parent | 75dc5f226cb3261337c9be9614856efc0b40e377 (diff) | |
parent | ed4c49090abfb35ebadc77b40eee4af05ae15ac1 (diff) | |
download | wekan-5d6c68a9cfe1e83b884e3884e17d5ed82d6f5b98.tar.gz wekan-5d6c68a9cfe1e83b884e3884e17d5ed82d6f5b98.tar.bz2 wekan-5d6c68a9cfe1e83b884e3884e17d5ed82d6f5b98.zip |
Merge branch 'master' of github.com:wekan/wekan
Diffstat (limited to 'models/cards.js')
-rw-r--r-- | models/cards.js | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/models/cards.js b/models/cards.js index d30baaf1..371ad185 100644 --- a/models/cards.js +++ b/models/cards.js @@ -1579,18 +1579,38 @@ const findDueCards = days => { const now = new Date(), aday = 3600 * 24 * 1e3, then = day => new Date(now.setHours(0, 0, 0, 0) + day * aday); - seekDue(then(1), then(days), 'almostdue'); - seekDue(then(0), then(1), 'duenow'); - seekDue(then(-days), now, 'pastdue'); + if (!days) return; + if (!days.map) days = [days]; + days.map(day => { + let args = []; + if (day === 0) { + args = [then(0), then(1), 'duenow']; + } else if (day > 0) { + args = [then(1), then(day), 'almostdue']; + } else { + args = [then(day), now, 'pastdue']; + } + seekDue(...args); + }); }; const addCronJob = _.debounce( Meteor.bindEnvironment(function findDueCardsDebounced() { - const notifydays = - parseInt(process.env.NOTIFY_DUE_DAYS_BEFORE_AND_AFTER, 10) || 2; // default as 2 days before and after - if (!(notifydays > 0 && notifydays < 15)) { - // notifying due is disabled + const envValue = process.env.NOTIFY_DUE_DAYS_BEFORE_AND_AFTER; + if (!envValue) { return; } + const notifydays = envValue + .split(',') + .map(value => { + const iValue = parseInt(value, 10); + if (!(iValue > 0 && iValue < 15)) { + // notifying due is disabled + return false; + } else { + return iValue; + } + }) + .filter(Boolean); const notifyitvl = process.env.NOTIFY_DUE_AT_HOUR_OF_DAY; //passed in the itvl has to be a number standing for the hour of current time const defaultitvl = 8; // default every morning at 8am, if the passed env variable has parsing error use default const itvl = parseInt(notifyitvl, 10) || defaultitvl; |