From 2ea5f85d9baed23bb7e1d709d37fe9a207d43238 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Sun, 21 Dec 2014 14:36:22 -0500 Subject: [PATCH] closes #2481 --- public/src/app.js | 22 ++++++++++++++++++++++ src/middleware/middleware.js | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/public/src/app.js b/public/src/app.js index cc58f0e32f..bf5ec32941 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -522,6 +522,8 @@ app.uid = null; }); createHeaderTooltips(); + showEmailConfirmWarning(); + ajaxify.variables.parse(); ajaxify.currentPage = url; @@ -572,6 +574,26 @@ app.uid = null; }); }; + function showEmailConfirmWarning() { + if (config.requireEmailConfirmation && app.user.uid && !app.user['email:confirmed']) { + app.alert({ + alert_id: 'email_confirm', + message: '[[error:email-not-confirmed]]', + type: 'warning', + timeout: 0, + clickfn: function() { + app.removeAlert('email_confirm'); + socket.emit('user.emailConfirm', {}, function(err) { + if (err) { + return app.alertError(err.message); + } + app.alertSuccess('[[notifications:email-confirm-sent]]'); + }); + } + }); + } + } + showWelcomeMessage = window.location.href.indexOf('loggedin') !== -1; exposeConfigToTemplates(); diff --git a/src/middleware/middleware.js b/src/middleware/middleware.js index 17e868a576..4dda7637a2 100644 --- a/src/middleware/middleware.js +++ b/src/middleware/middleware.js @@ -313,7 +313,7 @@ middleware.renderHeader = function(req, res, callback) { }, user: function(next) { if (uid) { - user.getUserFields(uid, ['username', 'userslug', 'picture', 'status', 'banned'], next); + user.getUserFields(uid, ['username', 'userslug', 'picture', 'status', 'email:confirmed', 'banned'], next); } else { next(null, { username: '[[global:guest]]', @@ -336,6 +336,7 @@ middleware.renderHeader = function(req, res, callback) { return; } results.user.isAdmin = results.isAdmin || false; + results.user['email:confirmed'] = parseInt(results.user['email:confirmed'], 10) === 1; templateValues.browserTitle = results.title; templateValues.isAdmin = results.user.isAdmin;