Bugfixing.

This commit is contained in:
Tomas Bures 2018-09-27 12:34:54 +02:00
parent 86efa11994
commit 5670d21e76
31 changed files with 241 additions and 216 deletions

View file

@ -27,9 +27,9 @@ class CampaignSender {
}
async init(settings) {
this.listsById = Map(); // listId -> list
this.listsByCid = Map(); // listCid -> list
this.listsFieldsGrouped = Map(); // listId -> fieldsGrouped
this.listsById = new Map(); // listId -> list
this.listsByCid = new Map(); // listCid -> list
this.listsFieldsGrouped = new Map(); // listId -> fieldsGrouped
this.attachments = [];
await knex.transaction(async tx => {
@ -39,13 +39,15 @@ class CampaignSender {
this.campaign = await campaigns.rawGetByTx(tx, 'id', settings.campaignId);
}
this.sendConfiguration = await sendConfigurations.getByIdTx(tx, contextHelpers.getAdminContext(), campaign.send_configuration);
const campaign = this.campaign;
this.sendConfiguration = await sendConfigurations.getByIdTx(tx, contextHelpers.getAdminContext(), campaign.send_configuration, false, true);
for (const listSpec of campaign.lists) {
const list = await lists.getByIdTx(tx, contextHelpers.getAdminContext(), listSpec.list);
this.listsById.set(list.id) = list;
this.listsByCid.set(list.cid) = list;
this.listsFieldsGrouped.set(list.id) = await fields.listGroupedTx(tx, list.id);
this.listsById.set(list.id, list);
this.listsByCid.set(list.cid, list);
this.listsFieldsGrouped.set(list.id, await fields.listGroupedTx(tx, list.id));
}
if (campaign.source === CampaignSource.TEMPLATE) {
@ -63,7 +65,7 @@ class CampaignSender {
});
this.useVerp = config.verp.enabled && sendConfiguration.verp_hostname;
this.useVerpSenderHeader = useVerp && config.verp.disablesenderheader !== true;
this.useVerpSenderHeader = this.useVerp && config.verp.disablesenderheader !== true;
}
async _getMessage(campaign, list, subscriptionGrouped, mergeTags, replaceDataImgs) {
@ -118,9 +120,9 @@ class CampaignSender {
});
}
const html = renderTags ? tools.formatMessage(campaign, list, subscriptionGrouped, mergeTags, html, false, true) : html;
html = renderTags ? tools.formatMessage(campaign, list, subscriptionGrouped, mergeTags, html, false, true) : html;
const text = (text || '').trim()
text = (text || '').trim()
? (renderTags ? tools.formatMessage(campaign, list, subscriptionGrouped, mergeTags, text) : text)
: htmlToText.fromString(html, {wordwrap: 130});
@ -136,7 +138,7 @@ class CampaignSender {
const subscriptionGrouped = await subscriptions.getByCid(contextHelpers.getAdminContext(), list.id, subscriptionCid);
const flds = this.listsFieldsGrouped.get(list.id);
const campaign = this.campaign;
const mergeTags = fields.forHbsWithFieldsGrouped(flds, subscriptionGrouped);
const mergeTags = fields.getMergeTags(flds, subscriptionGrouped);
return await this._getMessage(campaign, list, subscriptionGrouped, mergeTags, false);
}
@ -150,7 +152,7 @@ class CampaignSender {
const subscriptionGrouped = await subscriptions.getByEmail(contextHelpers.getAdminContext(), list.id, email);
const flds = this.listsFieldsGrouped.get(listId);
const campaign = this.campaign;
const mergeTags = fields.forHbsWithFieldsGrouped(flds, subscriptionGrouped);
const mergeTags = fields.getMergeTags(flds, subscriptionGrouped);
const encryptionKeys = [];
for (const fld of flds) {