From: Bartosz DziewoƄski Date: Mon, 24 Aug 2015 19:53:06 +0000 (+0200) Subject: mediawiki.api.upload: Improve error handling when using #uploadToStash X-Git-Tag: 1.31.0-rc.0~10290^2 X-Git-Url: http://git.cyclocoop.org/data/%24self?a=commitdiff_plain;h=e0ec5314f1b2b3b4ba1ffaa62443ab157eca950e;p=lhc%2Fweb%2Fwiklou.git mediawiki.api.upload: Improve error handling when using #uploadToStash The finishUpload() function did not check for errors previously, which caused errors that only surface at this point (e.g. invalid file name) to be ignored. Change-Id: I61a1e6bb93b6db34e875689c5d769a1b7e4db0be --- diff --git a/resources/src/mediawiki.api/mediawiki.api.upload.js b/resources/src/mediawiki.api/mediawiki.api.upload.js index 8f19a3b7a2..d05ba57809 100644 --- a/resources/src/mediawiki.api/mediawiki.api.upload.js +++ b/resources/src/mediawiki.api/mediawiki.api.upload.js @@ -331,7 +331,12 @@ return $.Deferred().reject( 'Filename not included in file data.' ); } - return api.postWithEditToken( data ); + return api.postWithEditToken( data ).then( function ( result ) { + if ( result.upload && ( result.upload.error || result.upload.warnings ) ) { + return $.Deferred().reject( result.upload.error || result.upload.warnings ).promise(); + } + return result; + } ); } return this.upload( file, { stash: true, filename: data.filename } ).then( function ( result ) { diff --git a/resources/src/mediawiki/mediawiki.Upload.Dialog.js b/resources/src/mediawiki/mediawiki.Upload.Dialog.js index 3c10eeb2f7..96db7cc1d3 100644 --- a/resources/src/mediawiki/mediawiki.Upload.Dialog.js +++ b/resources/src/mediawiki/mediawiki.Upload.Dialog.js @@ -337,7 +337,7 @@ return false; } - dialog.upload.finishStashUpload().then( function () { + dialog.upload.finishStashUpload().always( function () { var name; if ( dialog.upload.getState() === mw.Upload.State.ERROR ) {