Skip to content

Commit

Permalink
bugfix: server-side errors haven't shown on upload #305
Browse files Browse the repository at this point in the history
  • Loading branch information
psolom committed Mar 21, 2018
1 parent b98cd58 commit 50b9f9f
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 18 deletions.
42 changes: 25 additions & 17 deletions src/js/filemanager.js
Original file line number Diff line number Diff line change
Expand Up @@ -4724,25 +4724,29 @@ $.richFilemanagerPlugin = function(element, pluginOptions)
})

.on('fileuploadfail', function(e, data) {
var error, xhr = data.jqXHR;

// handle server-side errors
if ($.isPlainObject(xhr.responseJSON) && xhr.responseJSON.errors) {
error = formatServerError(xhr.responseJSON.errors[0]);
} else {
error = lg('upload_failed')
}

$.each(data.files, function (index, file) {
file.error = lg('upload_failed');
var $node = file.context;
$node.removeClass('added process').addClass('error');
$node.removeClass('added process').addClass('error');
$node.find('.error-message').text(error);
$node.find('.button-start').remove();
});
})

.on('fileuploaddone', function(e, data) {
var response = data.result;
$.each(data.files, function (index, file) {
var $node = file.context;
// handle server-side errors
if(response && response.errors) {
$node.removeClass('added process').addClass('error');
$node.find('.error-message').text(formatServerError(response.errors[0]));
$node.find('.button-start').remove();
} else {
// remove file preview item on success upload
$node.remove();
if(response && response.data && response.data[index]) {
// remove file preview item on success upload
file.context.remove();
}
});
})
Expand Down Expand Up @@ -4874,10 +4878,6 @@ $.richFilemanagerPlugin = function(element, pluginOptions)
$uploadButton.children('span').text(lg('action_upload'));
var response = data.result;

// handle server-side errors
if(response && response.errors) {
fm.error(lg('upload_failed') + "<br>" + formatServerError(response.errors[0]));
}
if(response && response.data) {
var resourceObject = response.data[0];
fmModel.removeElement(resourceObject);
Expand All @@ -4899,8 +4899,16 @@ $.richFilemanagerPlugin = function(element, pluginOptions)
})

.on('fileuploadfail', function(e, data) {
// server error 500, etc.
fm.error(lg('upload_failed'));
var error, xhr = data.jqXHR;

// handle server-side errors
if ($.isPlainObject(xhr.responseJSON) && xhr.responseJSON.errors) {
error = formatServerError(xhr.responseJSON.errors[0]);
} else {
error = lg('upload_failed')
}

fm.error(error);
});
}
};
Expand Down
Loading

0 comments on commit 50b9f9f

Please sign in to comment.