diff --git a/package.json b/package.json index 5bcbf108..19412677 100644 --- a/package.json +++ b/package.json @@ -48,11 +48,11 @@ "handlebars": "^4.0.5", "hbs": "^4.0.0", "he": "^1.1.0", - "html-to-text": "^2.1.0", + "html-to-text": "^2.1.3", "humanize": "0.0.9", "is-url": "^1.2.1", "isemail": "^2.2.0", - "jsdom": "^9.2.1", + "jsdom": "^9.3.0", "juice": "^2.0.0", "mkdirp": "^0.5.1", "moment-timezone": "^0.5.4", diff --git a/routes/campaigns.js b/routes/campaigns.js index 1a2585d9..8469ef28 100644 --- a/routes/campaigns.js +++ b/routes/campaigns.js @@ -190,6 +190,9 @@ router.get('/edit/:id', passport.csrfProtection, (req, res, next) => { }, { key: 'LINK_BROWSER', value: 'URL to preview the message in a browser' + }, { + key: 'EMAIL', + value: 'Email address' }, { key: 'FIRST_NAME', value: 'First name' diff --git a/routes/settings.js b/routes/settings.js index 993fc96a..8f7b9d81 100644 --- a/routes/settings.js +++ b/routes/settings.js @@ -11,7 +11,7 @@ let url = require('url'); let settings = require('../lib/models/settings'); -let allowedKeys = ['service_url', 'smtp_hostname', 'smtp_port', 'smtp_encryption', 'smtp_disable_auth', 'smtp_user', 'smtp_pass', 'admin_email', 'smtp_log', 'smtp_max_connections', 'smtp_max_messages', 'smtp_self_signed', 'default_from', 'default_address', 'default_subject', 'default_homepage', 'default_postaddress', 'default_sender', 'verp_hostname', 'verp_use', 'disable_wysiwyg', 'pgp_private_key', 'pgp_passphrase', 'ua_code', 'shoutout']; +let allowedKeys = ['service_url', 'smtp_hostname', 'smtp_port', 'smtp_encryption', 'smtp_disable_auth', 'smtp_user', 'smtp_pass', 'admin_email', 'smtp_log', 'smtp_max_connections', 'smtp_max_messages', 'smtp_self_signed', 'default_from', 'default_address', 'default_subject', 'default_homepage', 'default_postaddress', 'default_sender', 'verp_hostname', 'verp_use', 'disable_wysiwyg', 'pgp_private_key', 'pgp_passphrase', 'ua_code', 'shoutout', 'disable_confirmations']; router.all('/*', (req, res, next) => { if (!req.user) { @@ -74,7 +74,7 @@ router.post('/update', passport.parseForm, passport.csrfProtection, (req, res) = }); // checkboxs are not included in value listing if left unchecked - ['smtp_log', 'smtp_self_signed', 'smtp_disable_auth', 'verp_use', 'disable_wysiwyg'].forEach(key => { + ['smtp_log', 'smtp_self_signed', 'smtp_disable_auth', 'verp_use', 'disable_wysiwyg', 'disable_confirmations'].forEach(key => { if (keys.indexOf(key) < 0) { keys.push(key); values.push(''); diff --git a/routes/subscription.js b/routes/subscription.js index 7424eeef..983150d4 100644 --- a/routes/subscription.js +++ b/routes/subscription.js @@ -35,7 +35,7 @@ router.get('/subscribe/:cid', (req, res, next) => { return next(err); } - settings.list(['defaultHomepage', 'serviceUrl', 'pgpPrivateKey', 'defaultAddress', 'defaultFrom'], (err, configItems) => { + settings.list(['defaultHomepage', 'serviceUrl', 'pgpPrivateKey', 'defaultAddress', 'defaultFrom', 'disableConfirmations'], (err, configItems) => { if (err) { return next(err); } @@ -48,6 +48,10 @@ router.get('/subscribe/:cid', (req, res, next) => { hasPubkey: !!configItems.pgpPrivateKey }); + if (configItems.disableConfirmations) { + return; + } + fields.list(list.id, (err, fieldList) => { if (err) { return log.error('Fields', err); @@ -378,9 +382,13 @@ router.post('/:lcid/unsubscribe', passport.parseForm, passport.csrfProtection, ( } }); - settings.list(['defaultHomepage', 'defaultFrom', 'defaultAddress', 'serviceUrl'], (err, configItems) => { + settings.list(['defaultHomepage', 'defaultFrom', 'defaultAddress', 'serviceUrl', 'disableConfirmations'], (err, configItems) => { if (err) { - return next(err); + return log.error('Settings', err); + } + + if (configItems.disableConfirmations) { + return; } mailer.sendMail({ diff --git a/views/settings.hbs b/views/settings.hbs index ec34ab9d..abff44d3 100644 --- a/views/settings.hbs +++ b/views/settings.hbs @@ -47,6 +47,17 @@ +
+
+
+ +
+
+
+
diff --git a/views/templates/create.hbs b/views/templates/create.hbs index e38c3874..f3078f7e 100644 --- a/views/templates/create.hbs +++ b/views/templates/create.hbs @@ -28,6 +28,9 @@