Vulcan/packages/vulcan-newsletter/lib/server/emails.js
2017-04-02 21:11:09 +09:00

43 lines
No EOL
1.6 KiB
JavaScript

import VulcanEmail from 'meteor/vulcan:email';
import Newsletters from "../collection.js";
import { getSetting } from 'meteor/vulcan:core';
// Extend email objects with server-only properties
VulcanEmail.emails.newsletter = {
...VulcanEmail.emails.newsletter,
getNewsletter() {
return Newsletters.build(Newsletters.getPosts(getSetting('postsPerNewsletter', 5)));
},
subject() {
return this.getNewsletter().subject;
},
getTestHTML() {
var campaign = this.getNewsletter();
var newsletterEnabled = `<div class="newsletter-enabled"><strong>Newsletter Enabled:</strong> ${getSetting('enableNewsletter', true)}</div>`;
var mailChimpAPIKey = `<div class="mailChimpAPIKey"><strong>mailChimpAPIKey:</strong> ${typeof getSetting('mailChimpAPIKey') !== "undefined"}</div>`;
var mailChimpListId = `<div class="mailChimpListId"><strong>mailChimpListId:</strong> ${typeof getSetting('mailChimpListId') !== "undefined"}</div>`;
var campaignSubject = `<div class="campaign-subject"><strong>Subject:</strong> ${campaign.subject} (note: contents might change)</div>`;
var campaignSchedule = `<div class="campaign-schedule"><strong>Scheduled for:</strong> ${Newsletters.getNextScheduled()}</div>`;
return newsletterEnabled+mailChimpAPIKey+mailChimpListId+campaignSubject+campaignSchedule+campaign.html;
}
};
VulcanEmail.emails.newsletterConfirmation = {
...VulcanEmail.emails.newsletterConfirmation,
getTestHTML() {
return VulcanEmail.getTemplate('newsletterConfirmation')({
time: 'January 1st, 1901',
newsletterLink: 'http://example.com',
subject: 'Lorem ipsum dolor sit amet'
});
}
};