jenkins-bot has submitted this change and it was merged. Change subject: mediawiki.user: Use wgUserGroups for getGroups() rather than AJAX ......................................................................
mediawiki.user: Use wgUserGroups for getGroups() rather than AJAX Use wgUserGroups to implement getGroups, rather than an API request. wgUserGroups and ApiQueryUserInfo both use $user->getEffectiveGroups() unprocessed. mw.Api.plugin.user is still useful because rights are not available client-side, and it can be used for groups with ForeignApi. Change-Id: Id9c7805de1d02e267dbd2bba833e90a6df117dee --- M resources/src/mediawiki/mediawiki.user.js M tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js 2 files changed, 7 insertions(+), 5 deletions(-) Approvals: Krinkle: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/src/mediawiki/mediawiki.user.js b/resources/src/mediawiki/mediawiki.user.js index d2f2abd..0fdd9aa 100644 --- a/resources/src/mediawiki/mediawiki.user.js +++ b/resources/src/mediawiki/mediawiki.user.js @@ -241,10 +241,10 @@ * @return {jQuery.Promise} */ getGroups: function ( callback ) { - return getUserInfo().then( - function ( userInfo ) { return userInfo.groups; }, - function () { return []; } - ).done( callback ); + var userGroups = mw.config.get( 'wgUserGroups', [] ); + + // Uses promise for backwards compatibility + return $.Deferred().resolve( userGroups ).done( callback ); }, /** diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js index 04e002dd..3332c08 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js @@ -41,6 +41,8 @@ } ); QUnit.test( 'getUserInfos', 3, function ( assert ) { + mw.config.set( 'wgUserGroups', [ '*', 'user' ] ); + mw.user.getGroups( function ( groups ) { assert.deepEqual( groups, [ '*', 'user' ], 'Result' ); } ); @@ -55,7 +57,7 @@ this.server.respondWith( /meta=userinfo/, function ( request ) { request.respond( 200, { 'Content-Type': 'application/json' }, - '{ "query": { "userinfo": { "groups": [ "*", "user" ], "rights": [ "read", "edit", "createtalk" ] } } }' + '{ "query": { "userinfo": { "groups": [ "unused" ], "rights": [ "read", "edit", "createtalk" ] } } }' ); } ); -- To view, visit https://gerrit.wikimedia.org/r/280753 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id9c7805de1d02e267dbd2bba833e90a6df117dee Gerrit-PatchSet: 4 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Mattflaschen <mflasc...@wikimedia.org> Gerrit-Reviewer: Edokter <er...@darcoury.nl> Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net> Gerrit-Reviewer: Krinkle <krinklem...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits