summaryrefslogtreecommitdiffstats
path: root/models/cards.js
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2019-09-28 14:56:51 +0300
committerLauri Ojansivu <x@xet7.org>2019-09-28 14:56:51 +0300
commit5d6c68a9cfe1e83b884e3884e17d5ed82d6f5b98 (patch)
tree9f2a26c68e81419d469d33693217aa492ec26081 /models/cards.js
parent75dc5f226cb3261337c9be9614856efc0b40e377 (diff)
parented4c49090abfb35ebadc77b40eee4af05ae15ac1 (diff)
downloadwekan-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.js34
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;