fix(transactionalApi): added getting of variables to TemplateSender [Resolves #606]

This commit is contained in:
Alexander Gusev 2019-06-11 19:37:45 +03:00
parent 7ae463ea72
commit 39f3682c27

View file

@ -3,6 +3,8 @@
const mailers = require('./mailers'); const mailers = require('./mailers');
const tools = require('./tools'); const tools = require('./tools');
const templates = require('../models/templates'); const templates = require('../models/templates');
const { getMergeTagsForBases } = require('../../shared/templates');
const { getTrustedUrl, getSandboxUrl, getPublicUrl } = require('../lib/urls');
class TemplateSender { class TemplateSender {
constructor(options) { constructor(options) {
@ -27,15 +29,21 @@ class TemplateSender {
) )
]); ]);
const variables = {
EMAIL: options.email,
...getMergeTagsForBases(getTrustedUrl(), getSandboxUrl(), getPublicUrl()),
...options.variables
};
const html = tools.formatTemplate( const html = tools.formatTemplate(
template.html, template.html,
null, null,
options.variables, variables,
true true
); );
const subject = tools.formatTemplate( const subject = tools.formatTemplate(
options.subject || template.description || template.name, options.subject || template.description || template.name,
options.variables variables
); );
return mailer.sendTransactionalMail( return mailer.sendTransactionalMail(
{ {