From 4b1b98e229e8a7141eb60d1f381cd112c5b3d335 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Tue, 23 Dec 2014 18:09:23 -0500 Subject: [PATCH] handle changePicture callback properly --- public/src/client/account/edit.js | 19 ++++++++++--------- src/socket.io/user.js | 19 +++++-------------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/public/src/client/account/edit.js b/public/src/client/account/edit.js index a203efb1d2..f85e00951c 100644 --- a/public/src/client/account/edit.js +++ b/public/src/client/account/edit.js @@ -125,8 +125,13 @@ define('forum/account/edit', ['forum/account/header', 'uploader'], function(head $('#savePictureChangesBtn').on('click', function() { $('#change-picture-modal').modal('hide'); - if (selectedImageType) { - changeUserPicture(selectedImageType); + if (!selectedImageType) { + return; + } + changeUserPicture(selectedImageType, function(err) { + if (err) { + return app.alertError(err.message); + } if (selectedImageType === 'gravatar') { $('#user-current-picture').attr('src', gravatarPicture); @@ -135,7 +140,7 @@ define('forum/account/edit', ['forum/account/header', 'uploader'], function(head $('#user-current-picture').attr('src', uploadedPicture); updateHeader(uploadedPicture); } - } + }); }); } @@ -284,15 +289,11 @@ define('forum/account/edit', ['forum/account/header', 'uploader'], function(head }); } - function changeUserPicture(type) { + function changeUserPicture(type, callback) { socket.emit('user.changePicture', { type: type, uid: ajaxify.variables.get('theirid') - }, function(err) { - if(err) { - app.alertError(err.message); - } - }); + }, callback); } function updateImages() { diff --git a/src/socket.io/user.js b/src/socket.io/user.js index d661787b4c..a7ca2d6605 100644 --- a/src/socket.io/user.js +++ b/src/socket.io/user.js @@ -152,7 +152,7 @@ SocketUser.changePicture = function(socket, data, callback) { function changePicture(uid, callback) { user.getUserField(uid, type, function(err, picture) { - if(err) { + if (err) { return callback(err); } @@ -168,22 +168,13 @@ SocketUser.changePicture = function(socket, data, callback) { return callback(new Error('[[error:invalid-image-type]]')); } - if(socket.uid === parseInt(data.uid, 10)) { - changePicture(socket.uid, function(err) { - if(err) { - return callback(err); - } - }); - return; + if (socket.uid === parseInt(data.uid, 10)) { + return changePicture(socket.uid, callback); } user.isAdministrator(socket.uid, function(err, isAdmin) { - if(err) { - return callback(err); - } - - if(!isAdmin) { - return callback(new Error('[[error:no-privileges]]')); + if (err || !isAdmin) { + return callback(err || new Error('[[error:no-privileges]]')); } changePicture(data.uid, callback);