handle changePicture callback properly

v1.18.x
barisusakli 10 years ago
parent 3d9e86d9b2
commit 4b1b98e229

@ -125,8 +125,13 @@ define('forum/account/edit', ['forum/account/header', 'uploader'], function(head
$('#savePictureChangesBtn').on('click', function() { $('#savePictureChangesBtn').on('click', function() {
$('#change-picture-modal').modal('hide'); $('#change-picture-modal').modal('hide');
if (selectedImageType) { if (!selectedImageType) {
changeUserPicture(selectedImageType); return;
}
changeUserPicture(selectedImageType, function(err) {
if (err) {
return app.alertError(err.message);
}
if (selectedImageType === 'gravatar') { if (selectedImageType === 'gravatar') {
$('#user-current-picture').attr('src', gravatarPicture); $('#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); $('#user-current-picture').attr('src', uploadedPicture);
updateHeader(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', { socket.emit('user.changePicture', {
type: type, type: type,
uid: ajaxify.variables.get('theirid') uid: ajaxify.variables.get('theirid')
}, function(err) { }, callback);
if(err) {
app.alertError(err.message);
}
});
} }
function updateImages() { function updateImages() {

@ -152,7 +152,7 @@ SocketUser.changePicture = function(socket, data, callback) {
function changePicture(uid, callback) { function changePicture(uid, callback) {
user.getUserField(uid, type, function(err, picture) { user.getUserField(uid, type, function(err, picture) {
if(err) { if (err) {
return callback(err); return callback(err);
} }
@ -168,22 +168,13 @@ SocketUser.changePicture = function(socket, data, callback) {
return callback(new Error('[[error:invalid-image-type]]')); return callback(new Error('[[error:invalid-image-type]]'));
} }
if(socket.uid === parseInt(data.uid, 10)) { if (socket.uid === parseInt(data.uid, 10)) {
changePicture(socket.uid, function(err) { return changePicture(socket.uid, callback);
if(err) {
return callback(err);
}
});
return;
} }
user.isAdministrator(socket.uid, function(err, isAdmin) { user.isAdministrator(socket.uid, function(err, isAdmin) {
if(err) { if (err || !isAdmin) {
return callback(err); return callback(err || new Error('[[error:no-privileges]]'));
}
if(!isAdmin) {
return callback(new Error('[[error:no-privileges]]'));
} }
changePicture(data.uid, callback); changePicture(data.uid, callback);

Loading…
Cancel
Save