Include campaign links in form fields
This commit is contained in:
parent
e4c71f4026
commit
43b1f1e319
2 changed files with 20 additions and 9 deletions
23
lib/tools.js
23
lib/tools.js
|
@ -15,7 +15,8 @@ module.exports = {
|
|||
createSlug,
|
||||
updateMenu,
|
||||
validateEmail,
|
||||
formatMessage
|
||||
formatMessage,
|
||||
getMessageLinks
|
||||
};
|
||||
|
||||
function toDbKey(key) {
|
||||
|
@ -147,17 +148,23 @@ function validateEmail(address, checkBlocked, callback) {
|
|||
});
|
||||
}
|
||||
|
||||
function getMessageLinks(serviceUrl, campaign, list, subscription) {
|
||||
return {
|
||||
LINK_UNSUBSCRIBE: urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid + '?auto=yes&c=' + campaign.cid),
|
||||
LINK_PREFERENCES: urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/manage/' + subscription.cid),
|
||||
LINK_BROWSER: urllib.resolve(serviceUrl, '/archive/' + campaign.cid + '/' + list.cid + '/' + subscription.cid)
|
||||
};
|
||||
}
|
||||
|
||||
function formatMessage(serviceUrl, campaign, list, subscription, message, filter) {
|
||||
filter = typeof filter === 'function' ? filter : (str => str);
|
||||
|
||||
let links = getMessageLinks(serviceUrl, campaign, list, subscription);
|
||||
|
||||
let getValue = key => {
|
||||
switch ((key || '').toString().toUpperCase().trim()) {
|
||||
case 'LINK_UNSUBSCRIBE':
|
||||
return urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/unsubscribe/' + subscription.cid + '?auto=yes&c=' + campaign.cid);
|
||||
case 'LINK_PREFERENCES':
|
||||
return urllib.resolve(serviceUrl, '/subscription/' + list.cid + '/manage/' + subscription.cid);
|
||||
case 'LINK_BROWSER':
|
||||
return urllib.resolve(serviceUrl, '/archive/' + campaign.cid + '/' + list.cid + '/' + subscription.cid);
|
||||
key = (key || '').toString().toUpperCase().trim();
|
||||
if (links.hasOwnProperty(key)) {
|
||||
return links[key];
|
||||
}
|
||||
if (subscription.mergeTags.hasOwnProperty(key)) {
|
||||
return subscription.mergeTags[key];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue