diff options
author | Lauri Ojansivu <x@xet7.org> | 2019-09-28 14:57:00 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-28 14:57:00 +0300 |
commit | ed4c49090abfb35ebadc77b40eee4af05ae15ac1 (patch) | |
tree | 77b63f462876c411cf1e348bd9cb0934fc505ae8 /models/cards.js | |
parent | 5696e4a4c67510d8e430eaf4ecb99896f857962e (diff) | |
parent | 020b66383643f42c183b758fe1bcb73ac6f689bb (diff) | |
download | wekan-ed4c49090abfb35ebadc77b40eee4af05ae15ac1.tar.gz wekan-ed4c49090abfb35ebadc77b40eee4af05ae15ac1.tar.bz2 wekan-ed4c49090abfb35ebadc77b40eee4af05ae15ac1.zip |
Merge pull request #2738 from whowillcare/master
Add feature: Add due timeline into Calendar view
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; |