From b0d36be790450883140193c8d9ca48c6723d84ec Mon Sep 17 00:00:00 2001 From: Andris Reinman Date: Mon, 2 May 2016 19:50:43 +0300 Subject: [PATCH] Added option to include GA tracking --- app.js | 14 ++++++++++++-- routes/settings.js | 2 +- views/layout.hbs | 19 +++++++++++++++++++ views/settings.hbs | 8 ++++++++ views/subscription/layout.hbs | 19 +++++++++++++++++++ 5 files changed, 59 insertions(+), 3 deletions(-) diff --git a/app.js b/app.js index b04bd714..7429410d 100644 --- a/app.js +++ b/app.js @@ -21,6 +21,7 @@ let routes = require('./routes/index'); let users = require('./routes/users'); let lists = require('./routes/lists'); let settings = require('./routes/settings'); +let settingsModel = require('./lib/models/settings'); let templates = require('./routes/templates'); let campaigns = require('./routes/campaigns'); let links = require('./routes/links'); @@ -50,7 +51,7 @@ app.disable('x-powered-by'); * in a situation where we consume a flash messages but then comes a redirect * and the message is never displayed */ -hbs.registerHelper('flash_messages', function() { // eslint-disable-line prefer-arrow-callback +hbs.registerHelper('flash_messages', function () { // eslint-disable-line prefer-arrow-callback if (typeof this.flash !== 'function') { // eslint-disable-line no-invalid-this return ''; } @@ -147,7 +148,16 @@ app.use((req, res, next) => { res.locals.menu = menu; tools.updateMenu(res); - next(); + + settingsModel.list(['ua_code'], (err, configItems) => { + if (err) { + return next(err); + } + Object.keys(configItems).forEach(key => { + res.locals[key] = configItems[key]; + }); + next(); + }); }); app.use('/', routes); diff --git a/routes/settings.js b/routes/settings.js index faf5c6dd..49e295e4 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']; +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']; router.all('/*', (req, res, next) => { if (!req.user) { diff --git a/views/layout.hbs b/views/layout.hbs index dabf511b..ca0f8a4e 100644 --- a/views/layout.hbs +++ b/views/layout.hbs @@ -143,6 +143,25 @@ {{/if}} + + {{#if uaCode}} + + {{/if}} diff --git a/views/settings.hbs b/views/settings.hbs index e060a849..f2f89d70 100644 --- a/views/settings.hbs +++ b/views/settings.hbs @@ -47,6 +47,14 @@ +
+ +
+ + Enter Google Analytics tracking code +
+
+
diff --git a/views/subscription/layout.hbs b/views/subscription/layout.hbs index f325f225..0dc3265d 100644 --- a/views/subscription/layout.hbs +++ b/views/subscription/layout.hbs @@ -55,6 +55,25 @@ {{/if}} + + {{#if uaCode}} + + {{/if}}