jenkins-bot has submitted this change and it was merged.
Change subject: mw.Upload.BookletLayout: Move error checking for uploadToStash
to uploadFile
......................................................................
mw.Upload.BookletLayout: Move error checking for uploadToStash to uploadFile
We were checking for uploadToStash errors in saveFile, instead of in
uploadFile itself. Apart from being just wrong it was causing two
issues:
1. We would show an upload error until after you've tried to save the
file.
2. If there was an error in saving, and you try again, the first thing
it would do is check mw.Upload.State to hopefully check for
uploadToStash errors. Instead of running the finishStashUpload again
it would fail because of the earlier error, thus making all errors
unrecoverable.
Bug: T114130
Change-Id: I56f4ef6e6536840a63402688eb2a1875a6876fcc
---
M resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
1 file changed, 18 insertions(+), 14 deletions(-)
Approvals:
Bartosz Dziewoński: Looks good to me, approved
jenkins-bot: Verified
diff --git a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
index 41200d3..fa2fb0b 100644
--- a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
+++ b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
@@ -175,16 +175,31 @@
* @return {jQuery.Promise}
*/
mw.Upload.BookletLayout.prototype.uploadFile = function () {
- var file = this.getFile();
+ var deferred = $.Deferred(),
+ layout = this,
+ file = this.getFile();
this.filenameWidget.setValue( file.name );
this.setPage( 'info' );
this.upload.setFile( file );
this.uploadPromise = this.upload.uploadToStash();
- this.uploadPromise.then( this.emit.bind( this, 'fileUploaded' )
);
+ this.uploadPromise.then( function () {
+ deferred.resolve();
+ layout.emit( 'fileUploaded' );
+ } );
+ this.uploadPromise.always( function () {
+ if ( layout.upload.getState() === mw.Upload.State.ERROR
) {
+ deferred.reject( new OO.ui.Error( mw.msg(
'upload-process-error' ) ) );
+ return false;
+ }
+ if ( layout.upload.getState() ===
mw.Upload.State.WARNING ) {
+ deferred.reject( new OO.ui.Error( mw.msg(
'upload-process-error' ) ) );
+ return false;
+ }
+ } );
- return this.uploadPromise;
+ return deferred;
};
/**
@@ -206,17 +221,6 @@
this.upload.setText( this.getText() );
this.uploadPromise.always( function () {
-
- if ( layout.upload.getState() === mw.Upload.State.ERROR
) {
- deferred.reject( new OO.ui.Error( mw.msg(
'upload-process-error' ) ) );
- return false;
- }
-
- if ( layout.upload.getState() ===
mw.Upload.State.WARNING ) {
- deferred.reject( new OO.ui.Error( mw.msg(
'upload-process-error' ) ) );
- return false;
- }
-
layout.upload.finishStashUpload().always( function () {
var name;
--
To view, visit https://gerrit.wikimedia.org/r/242655
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I56f4ef6e6536840a63402688eb2a1875a6876fcc
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Prtksxna <[email protected]>
Gerrit-Reviewer: Bartosz Dziewoński <[email protected]>
Gerrit-Reviewer: Edokter <[email protected]>
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: Prtksxna <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits