mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 10:01:40 -05:00
Adding newsletter time setting
This commit is contained in:
parent
3b51d0ef1c
commit
f771093a06
4 changed files with 42 additions and 30 deletions
|
@ -9,6 +9,7 @@
|
|||
"mailChimpListId": "MailChimp List ID",
|
||||
"postsPerNewsletter": "Posts per Newsletter",
|
||||
"newsletterFrequency": "Newsletter Frequency",
|
||||
"newsletterTime": "Newsletter Time",
|
||||
"enableNewsletter": "Enable Newsletter",
|
||||
"autoSubscribe": "Auto Subscribe"
|
||||
}
|
|
@ -141,6 +141,21 @@ var newsletterFrequency = {
|
|||
}
|
||||
addToSettingsSchema.push(newsletterFrequency);
|
||||
|
||||
var newsletterTime = {
|
||||
propertyName: 'newsletterTime',
|
||||
propertySchema: {
|
||||
type: String,
|
||||
optional: true,
|
||||
defaultValue: '00:00',
|
||||
autoform: {
|
||||
group: 'newsletter',
|
||||
instructions: 'Defaults to 00:00/12:00 AM. Time to send out newsletter if enabled.',
|
||||
type: 'time'
|
||||
}
|
||||
}
|
||||
}
|
||||
addToSettingsSchema.push(newsletterTime);
|
||||
|
||||
var autoSubscribe = {
|
||||
propertyName: 'autoSubscribe',
|
||||
propertySchema: {
|
||||
|
|
|
@ -5,32 +5,34 @@ SyncedCron.options = {
|
|||
collectionTTL: 172800
|
||||
}
|
||||
|
||||
Later = Npm.require('later');
|
||||
|
||||
defaultFrequency = 7; // once a week
|
||||
defaultTime = '00:00';
|
||||
|
||||
getSchedule = function (parser) {
|
||||
var getSchedule = function (parser) {
|
||||
var frequency = getSetting('newsletterFrequency', defaultFrequency);
|
||||
var recur = parser.recur();
|
||||
var schedule;
|
||||
switch (frequency) {
|
||||
case 1: // every day
|
||||
// sched = {schedules: [{dw: [1,2,3,4,5,6,0]}]};
|
||||
return parser.recur().on(1,2,3,4,5,6,0).dayOfWeek();
|
||||
schedule = recur.on(1,2,3,4,5,6,0).dayOfWeek();
|
||||
|
||||
case 2: // Mondays, Wednesdays, Fridays
|
||||
// sched = {schedules: [{dw: [2,4,6]}]};
|
||||
return parser.recur().on(2,4,6).dayOfWeek();
|
||||
schedule = recur.on(2,4,6).dayOfWeek();
|
||||
|
||||
case 3: // Mondays, Thursdays
|
||||
// sched = {schedules: [{dw: [2,5]}]};
|
||||
return parser.recur().on(2,5).dayOfWeek();
|
||||
schedule = recur.on(2,5).dayOfWeek();
|
||||
|
||||
case 7: // Once a week (Mondays)
|
||||
// sched = {schedules: [{dw: [2]}]};
|
||||
return parser.recur().on(2).dayOfWeek();
|
||||
schedule = recur.on(2).dayOfWeek();
|
||||
|
||||
default: // Once a week (Mondays)
|
||||
return parser.recur().on(2).dayOfWeek();
|
||||
schedule = recur.on(2).dayOfWeek();
|
||||
}
|
||||
return schedule.on(getSetting('newsletterTime', defaultTime)).time();
|
||||
}
|
||||
|
||||
Meteor.methods({
|
||||
|
@ -41,11 +43,6 @@ Meteor.methods({
|
|||
}
|
||||
});
|
||||
|
||||
resetNewsletterJob = function () {
|
||||
SyncedCron.stop();
|
||||
addJob();
|
||||
}
|
||||
|
||||
var addJob = function () {
|
||||
SyncedCron.add({
|
||||
name: 'scheduleNewsletter',
|
||||
|
|
|
@ -5,8 +5,7 @@ Package.describe({
|
|||
});
|
||||
|
||||
Npm.depends({
|
||||
"html-to-text": "0.1.0",
|
||||
"later": "1.1.6"
|
||||
"html-to-text": "0.1.0"
|
||||
});
|
||||
|
||||
Package.onUse(function (api) {
|
||||
|
|
Loading…
Add table
Reference in a new issue