Bartosz Dziewoński has uploaded a new change for review.
https://gerrit.wikimedia.org/r/257669
Change subject: mediawiki.Upload.BookletLayout: If the user can't upload, don't
show them the form
......................................................................
mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the
form
Second attempt. First, reverted one: I6f68122b5399f4b8766825c752e964478ae7563d.
To improve in the future:
* Use a better error message when not all logged-in users can upload
Bug: T115866
Change-Id: I1ac083fd491c7445240b4fd9f7b3badacb2d2d37
---
M resources/Resources.php
M resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
2 files changed, 21 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/69/257669/1
diff --git a/resources/Resources.php b/resources/Resources.php
index bd1d404..a3b1a1d 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1184,6 +1184,7 @@
),
'dependencies' => array(
'oojs-ui',
+ 'mediawiki.user',
'mediawiki.Upload',
'mediawiki.jqueryMsg',
),
diff --git a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
index 7401445..34e2f8f 100644
--- a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
+++ b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
@@ -151,10 +151,29 @@
* @return {jQuery.Promise} Promise resolved when everything is
initialized
*/
mw.Upload.BookletLayout.prototype.initialize = function () {
+ var
+ apiPromise,
+ booklet = this,
+ deferred = $.Deferred();
+
this.clear();
this.upload = this.createUpload();
this.setPage( 'upload' );
- return $.Deferred().resolve().promise();
+
+ apiPromise = this.upload.apiPromise || $.Deferred.resolve(
this.upload.api );
+ apiPromise.done( function ( api ) {
+ // If the user can't upload anything, don't give them
the option to.
+ api.getUserInfo().done( function ( userInfo ) {
+ if ( userInfo.rights.indexOf( 'upload' ) === -1
) {
+ // TODO Use a better error message when
not all logged-in users can upload
+ booklet.getPage( 'upload'
).$element.msg( 'api-error-mustbeloggedin' );
+ }
+ } ).always( function () {
+ deferred.resolve();
+ } );
+ } );
+
+ return deferred.promise();
};
/**
--
To view, visit https://gerrit.wikimedia.org/r/257669
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1ac083fd491c7445240b4fd9f7b3badacb2d2d37
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