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

Reply via email to