From 1d5e15eab40192d508680ba380eb59c37bad9ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 23 Feb 2015 13:39:17 -0500 Subject: [PATCH 1/7] closes #2560 --- public/language/en_GB/error.json | 1 + public/src/app.js | 16 +++++++++++++++- src/middleware/middleware.js | 4 ++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/public/language/en_GB/error.json b/public/language/en_GB/error.json index 812ae03a17..b2f9a3b86b 100644 --- a/public/language/en_GB/error.json +++ b/public/language/en_GB/error.json @@ -24,6 +24,7 @@ "email-taken": "Email taken", "email-not-confirmed": "Your email has not been confirmed yet, please click here to confirm your email.", "email-not-confirmed-chat": "You are unable to chat until your email is confirmed", + "no-email-to-confirm": "This forum requires email confirmation, please click here to enter an email", "username-too-short": "Username too short", "username-too-long": "Username too long", diff --git a/public/src/app.js b/public/src/app.js index b4a091f960..d3a47a1bc6 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -570,7 +570,21 @@ app.cacheBuster = null; }; function showEmailConfirmWarning() { - if (config.requireEmailConfirmation && app.user.uid && !app.user['email:confirmed']) { + if (!config.requireEmailConfirmation || !app.user.uid) { + return; + } + if (!app.user.email) { + app.alert({ + alert_id: 'email_confirm', + message: '[[error:no-email-to-confirm]]', + type: 'warning', + timeout: 0, + clickfn: function() { + app.removeAlert('email_confirm'); + ajaxify.go('user/' + app.user.userslug + '/edit'); + } + }); + } else if (!app.user['email:confirmed']) { app.alert({ alert_id: 'email_confirm', message: '[[error:email-not-confirmed]]', diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 43e2a2ea86..658b9e0c63 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -317,7 +317,7 @@ middleware.renderHeader = function(req, res, callback) { }, user: function(next) { if (uid) { - user.getUserFields(uid, ['username', 'userslug', 'picture', 'status', 'email:confirmed', 'banned'], next); + user.getUserFields(uid, ['username', 'userslug', 'email', 'picture', 'status', 'email:confirmed', 'banned'], next); } else { next(null, { username: '[[global:guest]]', @@ -342,7 +342,7 @@ middleware.renderHeader = function(req, res, callback) { results.user.isAdmin = results.isAdmin || false; results.user.uid = parseInt(results.user.uid, 10); results.user['email:confirmed'] = parseInt(results.user['email:confirmed'], 10) === 1; - + templateValues.browserTitle = results.title; templateValues.isAdmin = results.user.isAdmin; templateValues.user = results.user; From e6e755dd4617a3b15bab1fc3eb1c526fc10b4295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 23 Feb 2015 14:05:43 -0500 Subject: [PATCH 2/7] #2560 --- src/middleware/admin.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/middleware/admin.js b/src/middleware/admin.js index a7ed1997fb..a23781fdef 100644 --- a/src/middleware/admin.js +++ b/src/middleware/admin.js @@ -40,13 +40,14 @@ middleware.buildHeader = function(req, res, next) { 'authentication': [] }; - user.getUserFields(uid, ['username', 'userslug', 'picture', 'email:confirmed'], function(err, userData) { + user.getUserFields(uid, ['username', 'userslug', 'email', 'picture', 'email:confirmed'], function(err, userData) { if (err) { return next(err); } userData.uid = uid; - + userData['email:confirmed'] = parseInt(userData['email:confirmed'], 10) === 1; + async.parallel({ scripts: function(next) { plugins.fireHook('filter:admin.scripts.get', [], function(err, scripts) { @@ -72,16 +73,15 @@ middleware.buildHeader = function(req, res, next) { return next(err); } res.locals.config = results.config; + var data = { relative_path: nconf.get('relative_path'), configJSON: JSON.stringify(results.config), + user: userData, userJSON: JSON.stringify(userData), plugins: results.custom_header.plugins, authentication: results.custom_header.authentication, scripts: results.scripts, - userpicture: userData.picture, - username: userData.username, - userslug: userData.userslug, 'cache-buster': meta.config['cache-buster'] ? 'v=' + meta.config['cache-buster'] : '', env: process.env.NODE_ENV ? true : false }; From 89f2520eba2434e5ff6304f07f1ac5475a61268b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 23 Feb 2015 14:07:51 -0500 Subject: [PATCH 3/7] #2560 fix user link pic --- src/views/admin/header.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/admin/header.tpl b/src/views/admin/header.tpl index 7a5d658eb2..89b0dc4ac4 100644 --- a/src/views/admin/header.tpl +++ b/src/views/admin/header.tpl @@ -85,11 +85,11 @@