From 1296cd58b9bf99df0ed819b7f098bc0eedc5d544 Mon Sep 17 00:00:00 2001 From: barisusakli <barisusakli@gmail.com> Date: Mon, 23 Jun 2014 19:45:45 -0400 Subject: [PATCH] closes #1723 --- public/language/en_GB/email.json | 4 +++ public/src/app.js | 5 ++++ public/src/forum/reset.js | 5 +--- public/src/modules/composer.js | 2 -- src/user/email.js | 44 +++++++++++++++++--------------- src/user/reset.js | 35 +++++++++++++------------ 6 files changed, 52 insertions(+), 43 deletions(-) create mode 100644 public/language/en_GB/email.json diff --git a/public/language/en_GB/email.json b/public/language/en_GB/email.json new file mode 100644 index 0000000000..83c68d54ed --- /dev/null +++ b/public/language/en_GB/email.json @@ -0,0 +1,4 @@ +{ + "password-reset-requested": "Password Reset Requested - %1!", + "welcome-to": "Welcome to %1" +} \ No newline at end of file diff --git a/public/src/app.js b/public/src/app.js index a19de92132..7e6b5f4b70 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -164,6 +164,10 @@ var socket, } app.cacheBuster = config['cache-buster']; + + bootbox.setDefaults({ + locale: config.defaultLang + }); } } @@ -570,4 +574,5 @@ var socket, app.loadConfig(); app.alternatingTitle(''); + }()); diff --git a/public/src/forum/reset.js b/public/src/forum/reset.js index 3a0f4415ed..2cbad172ae 100644 --- a/public/src/forum/reset.js +++ b/public/src/forum/reset.js @@ -4,8 +4,7 @@ define('forum/reset', function() { ResetPassword.init = function() { var inputEl = $('#email'), errorEl = $('#error'), - successEl = $('#success'), - errorTextEl = errorEl.find('p'); + successEl = $('#success'); $('#reset').on('click', function() { if (inputEl.val() && inputEl.val().indexOf('@') !== -1) { @@ -16,13 +15,11 @@ define('forum/reset', function() { errorEl.addClass('hide').hide(); successEl.removeClass('hide').show(); - successEl.find('p').html('An email has been dispatched to "' + inputEl.val() + '" with instructions on setting a new password.'); inputEl.val(''); }); } else { successEl.addClass('hide').hide(); errorEl.removeClass('hide').show(); - errorTextEl.html('Please enter a valid email'); } }); }; diff --git a/public/src/modules/composer.js b/public/src/modules/composer.js index ea028edb00..ea565e929c 100644 --- a/public/src/modules/composer.js +++ b/public/src/modules/composer.js @@ -225,8 +225,6 @@ define('composer', dependencies, function(taskbar, controls, uploads, formatting uploads.toggleThumbEls(postContainer, composer.posts[post_uuid].topic_thumb || ''); } - - postContainer.on('change', 'input, textarea', function() { composer.posts[post_uuid].modified = true; }); diff --git a/src/user/email.js b/src/user/email.js index d00b74a2dc..6ff114173a 100644 --- a/src/user/email.js +++ b/src/user/email.js @@ -5,12 +5,13 @@ var async = require('async'), nconf = require('nconf'), winston = require('winston'), - user = require('./../user'), - utils = require('./../../public/src/utils'), - plugins = require('./../plugins'), - db = require('./../database'), - meta = require('./../meta'), - emailer = require('./../emailer'); + user = require('../user'), + utils = require('../../public/src/utils'), + translator = require('../../public/src/translator'), + plugins = require('../plugins'), + db = require('../database'), + meta = require('../meta'), + emailer = require('../emailer'); (function(UserEmail) { @@ -42,27 +43,30 @@ var async = require('async'), db.expireAt('confirm:' + confirm_code, Math.floor(Date.now() / 1000 + 60 * 60 * 2), next); } ], function(err) { + user.getUserField(uid, 'username', function(err, username) { if (err) { return winston.error(err.message); } - var data = { - site_title: (meta.config.title || 'NodeBB'), - username: username, - confirm_link: confirm_link, - confirm_code: confirm_code, + translator.translate('[[email:welcome-to, ' + (meta.config.title || 'NodeBB') + ']]', meta.config.defaultLang, function(subject) { + var data = { + site_title: (meta.config.title || 'NodeBB'), + username: username, + confirm_link: confirm_link, + confirm_code: confirm_code, - subject: 'Welcome to ' + (meta.config.title || 'NodeBB') + '!', - template: 'welcome', - uid: uid - }; + subject: subject, + template: 'welcome', + uid: uid + }; - if (plugins.hasListeners('action:user.verify')) { - plugins.fireHook('action:user.verify', uid, data); - } else if (plugins.hasListeners('action:email.send')) { - emailer.send('welcome', uid, data); - } + if (plugins.hasListeners('action:user.verify')) { + plugins.fireHook('action:user.verify', uid, data); + } else if (plugins.hasListeners('action:email.send')) { + emailer.send('welcome', uid, data); + } + }); }); }); }); diff --git a/src/user/reset.js b/src/user/reset.js index 2ceceaef02..542ad22d12 100644 --- a/src/user/reset.js +++ b/src/user/reset.js @@ -4,13 +4,15 @@ var async = require('async'), nconf = require('nconf'), - user = require('./../user'), - utils = require('./../../public/src/utils'), + user = require('../user'), + utils = require('../../public/src/utils'), + translator = require('../../public/src/translator'), - db = require('./../database'), - meta = require('./../meta'), - events = require('./../events'), - emailer = require('./../emailer'); + db = require('../database'), + meta = require('../meta'), + events = require('../events'), + emailer = require('../emailer'), + tran; (function(UserReset) { @@ -39,27 +41,26 @@ var async = require('async'), UserReset.send = function(socket, email, callback) { user.getUidByEmail(email, function(err, uid) { - if(err || !uid) { + if (err || !uid) { return callback(err || new Error('[[error:invalid-email]]')); } - // Generate a new reset code var reset_code = utils.generateUUID(); db.setObjectField('reset:uid', reset_code, uid); db.setObjectField('reset:expiry', reset_code, (60 * 60) + Math.floor(Date.now() / 1000)); var reset_link = nconf.get('url') + '/reset/' + reset_code; - emailer.send('reset', uid, { - site_title: (meta.config.title || 'NodeBB'), - reset_link: reset_link, - - subject: 'Password Reset Requested - ' + (meta.config.title || 'NodeBB') + '!', - template: 'reset', - uid: uid + translator.translate('[[email:password-reset-requested, ' + (meta.config.title || 'NodeBB') + ']]', meta.config.defaultLang, function(subject) { + emailer.send('reset', uid, { + site_title: (meta.config.title || 'NodeBB'), + reset_link: reset_link, + subject: subject, + template: 'reset', + uid: uid + }); + callback(); }); - - callback(); }); };