diff --git a/public/src/app.js b/public/src/app.js index 233d734264..2cc6f99f1e 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -458,7 +458,7 @@ var socket, }); }; - app.updateHeader = function(data) { + app.updateHeader = function(err, data) { $('#search-button').off().on('click', function(e) { e.stopPropagation(); $('#search-fields').removeClass('hide').show(); diff --git a/public/src/forum/register.js b/public/src/forum/register.js index f49bfa3e7e..58f340b54c 100644 --- a/public/src/forum/register.js +++ b/public/src/forum/register.js @@ -45,7 +45,7 @@ define(function() { socket.emit('user.emailExists', { email: emailEl.val() }, function(exists) { - if (exists === true) { + if (exists) { showError(email_notify, 'Email address already taken!'); } else { showSuccess(email_notify, successIcon); @@ -73,6 +73,16 @@ define(function() { } else { socket.emit('user.exists', { username: username.val() + }, function(err, exists) { + if(err) { + return app.alertError(err.message); + } + + if (exists) { + showError(username_notify, 'Username already taken!'); + } else { + showSuccess(username_notify, successIcon); + } }); } } @@ -80,6 +90,7 @@ define(function() { username.on('keyup', function() { jQuery('#yourUsername').html(this.value.length > 0 ? this.value : 'username'); }); + username.on('blur', function() { validateUsername(); }); @@ -123,16 +134,6 @@ define(function() { validatePasswordConfirm(); }); - ajaxify.register_events(['user.exists', 'user.emailExists']); - - socket.on('user.exists', function(data) { - if (data.exists === true) { - showError(username_notify, 'Username already taken!'); - } else { - showSuccess(username_notify, successIcon); - } - }); - function validateForm() { validationError = false; diff --git a/src/socket.io/meta.js b/src/socket.io/meta.js index 58e0bea56d..b0a6e90f59 100644 --- a/src/socket.io/meta.js +++ b/src/socket.io/meta.js @@ -38,13 +38,19 @@ SocketMeta.buildTitle = function(socket, text, callback) { SocketMeta.updateHeader = function(socket, data, callback) { if (socket.uid) { user.getUserFields(socket.uid, data.fields, function(err, fields) { - if (!err && fields) { + if(err) { + return callback(err); + } + + if (fields) { fields.uid = socket.uid; - callback(fields); + callback(null, fields); + } else { + callback([]); } }); } else { - callback({ + callback(null, { uid: 0, username: "Anonymous User", email: '',