Bartosz Dziewoński has uploaded a new change for review.
https://gerrit.wikimedia.org/r/257671
Change subject: mw.Upload.BookletLayout: Show an error rather than explode when
uploads are disabled
......................................................................
mw.Upload.BookletLayout: Show an error rather than explode when uploads are
disabled
Also, localise the error messages.
Bug: T119314
Change-Id: I0b2f53b91454f22e2001462397087da9e055b701
---
M languages/i18n/en.json
M languages/i18n/qqq.json
M resources/Resources.php
M resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
M resources/src/mediawiki/mediawiki.ForeignUpload.js
M resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
6 files changed, 17 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/71/257671/1
diff --git a/languages/i18n/en.json b/languages/i18n/en.json
index 70a2b80..8082bf1 100644
--- a/languages/i18n/en.json
+++ b/languages/i18n/en.json
@@ -1420,6 +1420,7 @@
"upload-too-many-redirects": "The URL contained too many redirects",
"upload-http-error": "An HTTP error occurred: $1",
"upload-copy-upload-invalid-domain": "Copy uploads are not available
from this domain.",
+ "upload-foreign-cant-upload": "Can not upload to requested foreign file
repository.",
"upload-dialog-title": "Upload file",
"upload-dialog-button-cancel": "Cancel",
"upload-dialog-button-done": "Done",
diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json
index fc72a4b..edb5174 100644
--- a/languages/i18n/qqq.json
+++ b/languages/i18n/qqq.json
@@ -1595,6 +1595,7 @@
"upload-too-many-redirects": "Error message shown when uploading a file
via URL, if the upload failed because the URL returned too many redirects.",
"upload-http-error": "Parameters:\n* $1 - error message",
"upload-copy-upload-invalid-domain": "Error message shown if a user is
trying to upload (i.e. copy) a file from a website that is not in
$wgCopyUploadsDomains (if set).\n\nSee also:\n* {{msg-mw|http-invalid-url}}\n*
{{msg-mw|tmp-create-error}}\n* {{msg-mw|tmp-write-error}}",
+ "upload-foreign-cant-upload": "Error message shown when a user is
trying to upload a file to foreign repository that is not configured to receive
file uploads from current wiki.",
"upload-dialog-title": "Title of the upload dialog
box\n{{Identical|Upload file}}",
"upload-dialog-button-cancel": "Button to cancel the
dialog\n{{Identical|Cancel}}",
"upload-dialog-button-done": "Button to close the dialog once upload is
complete\n{{Identical|Done}}",
diff --git a/resources/Resources.php b/resources/Resources.php
index a3b1a1d..c985e49 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1156,6 +1156,10 @@
'mediawiki.Upload',
'oojs',
),
+ 'messages' => array(
+ 'uploaddisabledtext',
+ 'upload-foreign-cant-upload',
+ )
),
'mediawiki.ForeignStructuredUpload' => array(
'scripts' =>
'resources/src/mediawiki/mediawiki.ForeignStructuredUpload.js',
diff --git
a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
index b40d28a..bb7d7fa 100644
--- a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
+++ b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
@@ -49,8 +49,9 @@
// Can't reuse the same object,
CategorySelector calls #abort on its mw.Api instance
this.categoriesWidget.api = new
mw.ForeignApi( api.apiUrl );
}
+ }.bind( this ) ).always( function () {
deferred.resolve();
- }.bind( this ) );
+ } );
}.bind( this ) );
return deferred.promise();
};
diff --git a/resources/src/mediawiki/mediawiki.ForeignUpload.js
b/resources/src/mediawiki/mediawiki.ForeignUpload.js
index aa08b6c..ca5f20b 100644
--- a/resources/src/mediawiki/mediawiki.ForeignUpload.js
+++ b/resources/src/mediawiki/mediawiki.ForeignUpload.js
@@ -46,11 +46,12 @@
if ( this.target === 'local' ) {
// If local uploads were requested, but they are
disabled, fail.
if ( !mw.config.get( 'wgEnableUploads' ) ) {
- throw new Error( 'Local uploads are disabled' );
+ this.apiPromise = $.Deferred().reject( mw.msg(
'uploaddisabledtext' ) );
+ } else {
+ // We'll ignore the CORS and centralauth stuff
if the target is
+ // the local wiki.
+ this.apiPromise = $.Deferred().resolve( new
mw.Api( apiconfig ) );
}
- // We'll ignore the CORS and centralauth stuff if the
target is
- // the local wiki.
- this.apiPromise = $.Deferred().resolve( new mw.Api(
apiconfig ) );
} else {
api = new mw.Api();
this.apiPromise = api.get( {
@@ -76,7 +77,7 @@
}
}
- throw new Error( 'Can not upload to requested
foreign repo' );
+ return $.Deferred().reject( mw.msg(
'upload-foreign-cant-upload' ) );
} );
}
diff --git a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
index 2910654..8e3bf47 100644
--- a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
+++ b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
@@ -169,6 +169,9 @@
} ).always( function () {
deferred.resolve();
} );
+ } ).fail( function ( error ) {
+ booklet.getPage( 'upload' ).$element.text( error );
+ deferred.resolve();
} );
return deferred.promise();
--
To view, visit https://gerrit.wikimedia.org/r/257671
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b2f53b91454f22e2001462397087da9e055b701
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Bartosz Dziewoński <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits