match uploader return

v1.18.x
barisusakli 11 years ago
parent f74383bba4
commit 0305ad989c

@ -1,16 +1,10 @@
'use strict';
/* globals define */
define('uploader', ['csrf'], function(csrf) { define('uploader', ['csrf'], function(csrf) {
var module = {}, var module = {};
maybeParse = function(response) {
if (typeof response == 'string') {
try {
return $.parseJSON(response);
} catch (e) {
return {error: 'Something went wrong while parsing server response'};
}
}
return response;
};
module.open = function(route, params, fileSize, callback) { module.open = function(route, params, fileSize, callback) {
var uploadModal = $('#upload-picture-modal'); var uploadModal = $('#upload-picture-modal');
@ -34,28 +28,18 @@ define('uploader', ['csrf'], function(csrf) {
uploadForm.off('submit').submit(function() { uploadForm.off('submit').submit(function() {
function status(message) { function showAlert(type, message) {
module.hideAlerts(); module.hideAlerts();
uploadModal.find('#alert-status').text(message).removeClass('hide'); uploadModal.find('#alert-' + type).text(message).removeClass('hide');
} }
function success(message) { showAlert('status', 'uploading the file ...');
module.hideAlerts();
uploadModal.find('#alert-success').text(message).removeClass('hide');
}
function error(message) {
module.hideAlerts();
uploadModal.find('#alert-error').text(message).removeClass('hide');
}
status('uploading the file ...');
uploadModal.find('#upload-progress-bar').css('width', '0%'); uploadModal.find('#upload-progress-bar').css('width', '0%');
uploadModal.find('#upload-progress-box').show().removeClass('hide'); uploadModal.find('#upload-progress-box').show().removeClass('hide');
if (!$('#userPhotoInput').val()) { if (!$('#userPhotoInput').val()) {
error('select an image to upload!'); showAlert('error', 'select an image to upload!');
return false; return false;
} }
@ -65,7 +49,7 @@ define('uploader', ['csrf'], function(csrf) {
}, },
error: function(xhr) { error: function(xhr) {
xhr = maybeParse(xhr); xhr = maybeParse(xhr);
error('Error: ' + xhr.status); showAlert('error', 'Error: ' + xhr.status);
}, },
uploadProgress: function(event, position, total, percent) { uploadProgress: function(event, position, total, percent) {
@ -76,12 +60,13 @@ define('uploader', ['csrf'], function(csrf) {
response = maybeParse(response); response = maybeParse(response);
if (response.error) { if (response.error) {
error(response.error); showAlert('error', response.error);
return; return;
} }
callback(response.path);
success('File uploaded successfully!'); callback(response[0].url);
showAlert('success', 'File uploaded successfully!');
setTimeout(function() { setTimeout(function() {
module.hideAlerts(); module.hideAlerts();
uploadModal.modal('hide'); uploadModal.modal('hide');
@ -93,12 +78,19 @@ define('uploader', ['csrf'], function(csrf) {
}); });
}; };
function maybeParse(response) {
if (typeof response === 'string') {
try {
return $.parseJSON(response);
} catch (e) {
return {error: 'Something went wrong while parsing server response'};
}
}
return response;
}
module.hideAlerts = function() { module.hideAlerts = function() {
var uploadModal = $('#upload-picture-modal'); $('#upload-picture-modal').find('#alert-status, #alert-success, #alert-error, #upload-progress-box').addClass('hide');
uploadModal.find('#alert-status').addClass('hide');
uploadModal.find('#alert-success').addClass('hide');
uploadModal.find('#alert-error').addClass('hide');
uploadModal.find('#upload-progress-box').addClass('hide');
}; };
return module; return module;

@ -460,9 +460,7 @@ accountsController.uploadPicture = function (req, res, next) {
user.setUserFields(updateUid, {uploadedpicture: image.url, picture: image.url}); user.setUserFields(updateUid, {uploadedpicture: image.url, picture: image.url});
res.json({ res.json([{name: userPhoto.name, url: image.url}]);
path: image.url
});
} }
if (err) { if (err) {

@ -37,7 +37,7 @@ uploadsController.uploadFavicon = function(req, res, next) {
file.saveFileToLocal('favicon.ico', 'files', uploadedFile.path, function(err, image) { file.saveFileToLocal('favicon.ico', 'files', uploadedFile.path, function(err, image) {
fs.unlink(uploadedFile.path); fs.unlink(uploadedFile.path);
var response = err ? {error: err.message} : {path: image.url}; var response = err ? {error: err.message} : [{name: uploadedFile.name, url: image.url}];
res.send(req.xhr ? response : JSON.stringify(response)); res.send(req.xhr ? response : JSON.stringify(response));
}); });
@ -76,10 +76,10 @@ function validateUpload(req, res, uploadedFile, allowedTypes) {
} }
function uploadImage(filename, folder, uploadedFile, req, res) { function uploadImage(filename, folder, uploadedFile, req, res) {
function done(err, uploadedImage) { function done(err, image) {
fs.unlink(uploadedFile.path); fs.unlink(uploadedFile.path);
var response = err ? {error: err.message} : {path: uploadedImage.url}; var response = err ? {error: err.message} : [{name: uploadedFile.name, url: image.url}];
res.send(req.xhr ? response : JSON.stringify(response)); res.send(req.xhr ? response : JSON.stringify(response));
} }

Loading…
Cancel
Save