Add option for each day of week for newsletter. Resolves #1034

This commit is contained in:
John Pinkerton 2015-06-23 22:40:43 -04:00
parent ffe1cf3316
commit a34c3b70b2
2 changed files with 26 additions and 27 deletions

View file

@ -131,27 +131,40 @@ Settings.addField([
{
fieldName: 'newsletterFrequency',
fieldSchema: {
type: Number,
type: [Number],
optional: true,
autoform: {
group: 'newsletter',
instructions: 'Defaults to once a week. Changes require restarting your app to take effect.',
instructions: 'Defaults to once a week on Monday. Changes require restarting your app to take effect.',
noselect: true,
options: [
{
value: 1,
label: 'Every Day'
label: 'Sunday'
},
{
value: 2,
label: 'Mondays, Wednesdays, Fridays'
label: 'Monday'
},
{
value: 3,
label: 'Mondays & Thursdays'
label: 'Tuesday'
},
{
value: 4,
label: 'Wednesday'
},
{
value: 5,
label: 'Thursday'
},
{
value: 6,
label: 'Friday'
},
{
value: 7,
label: 'Once a week (Mondays)'
label: 'Saturday'
}
]
}

View file

@ -12,30 +12,16 @@ var getSchedule = function (parser) {
var frequency = Settings.get('newsletterFrequency', defaultFrequency);
var recur = parser.recur();
var schedule;
switch (frequency) {
case 1: // every day
// sched = {schedules: [{dw: [1,2,3,4,5,6,0]}]};
schedule = recur.on(1,2,3,4,5,6,0).dayOfWeek();
break;
case 2: // Mondays, Wednesdays, Fridays
// sched = {schedules: [{dw: [2,4,6]}]};
schedule = recur.on(2,4,6).dayOfWeek();
break;
case 3: // Mondays, Thursdays
// sched = {schedules: [{dw: [2,5]}]};
schedule = recur.on(2,5).dayOfWeek();
break;
case 7: // Once a week (Mondays)
// sched = {schedules: [{dw: [2]}]};
schedule = recur.on(2).dayOfWeek();
break;
default: // Once a week (Mondays)
schedule = recur.on(2).dayOfWeek();
// Default is once a week (Mondays)
if (!!frequency) {
schedule = recur.on(frequency).dayOfWeek();
}
else {
schedule = recur.on(2).dayOfWeek();
}
return schedule.on(Settings.get('newsletterTime', defaultTime)).time();
};