Page MenuHomePhabricator

Share the UI generation between Special:UserRights and Special:GlobalGroupMembership
Closed, ResolvedPublic

Description

In T405575: Share logic between Special:UserRights and Special:GlobalGroupMembership we want to unify Special:UserRights and Special:GlobalGroupMembership as much as possible. We can do so by introducing a new base abstract class, which will store the common logic. This class will be built incrementally, starting from the UI generation, which is conceptually almost the same on both special pages.

Acceptance criteria

  • The code for generating forms now lives in the base class
  • There are no functional changes to either of the special pages

Note: This task doesn't cover rewriting UI to a modern component library. It will be done later in T117884.

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/extensions/CentralAuthmaster+24 -4
mediawiki/coremaster+78 -36
mediawiki/coremaster+550 -336
mediawiki/extensions/GlobalUserrightsmaster+33 -5
mediawiki/coremaster+38 -7
mediawiki/extensions/CentralAuthmaster+8 -37
mediawiki/extensions/CentralAuthmaster+6 -38
mediawiki/extensions/CentralAuthmaster+3 -11
mediawiki/extensions/CentralAuthmaster+0 -14
mediawiki/extensions/CentralAuthmaster+5 -15
mediawiki/coremaster+37 -14
mediawiki/coremaster+16 -10
mediawiki/coremaster+28 -24
mediawiki/coremaster+7 -2
mediawiki/coremaster+119 -0
mediawiki/coremaster+106 -120
mediawiki/coremaster+139 -79
mediawiki/extensions/CentralAuthmaster+10 -10
mediawiki/coremaster+27 -22
mediawiki/extensions/CentralAuthmaster+5 -0
mediawiki/extensions/CentralAuthmaster+88 -268
Show related patches Customize query in gerrit

Event Timeline

Change #1192850 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] Start refactoring Special:UserRights

https://gerrit.wikimedia.org/r/1192850

Change #1192851 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Extend UserGroupsSpecialPage

https://gerrit.wikimedia.org/r/1192851

Change #1193018 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Properly disable Watch checkbox for remote users

https://gerrit.wikimedia.org/r/1193018

Change #1193019 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Refactor passing target to abstract methods

https://gerrit.wikimedia.org/r/1193019

Change #1193020 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Fix Watch checkbox suppression

https://gerrit.wikimedia.org/r/1193020

Change #1193021 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] GlobalGroupMembership: Accept target as parameter in overriden methods

https://gerrit.wikimedia.org/r/1193021

Change #1193315 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Refactor displaying the current user groups

https://gerrit.wikimedia.org/r/1193315

Change #1193316 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Refactor displaying current groups

https://gerrit.wikimedia.org/r/1193316

Change #1192850 merged by jenkins-bot:

[mediawiki/core@master] Start refactoring Special:UserRights

https://gerrit.wikimedia.org/r/1192850

Change #1192851 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Extend UserGroupsSpecialPage

https://gerrit.wikimedia.org/r/1192851

Change #1193018 merged by jenkins-bot:

[mediawiki/core@master] UserRights: Properly disable Watch checkbox for remote users

https://gerrit.wikimedia.org/r/1193018

Change #1193020 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Fix Watch checkbox suppression

https://gerrit.wikimedia.org/r/1193020

Change #1193408 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] Special:UserRights: Add tests

https://gerrit.wikimedia.org/r/1193408

Change #1193019 merged by jenkins-bot:

[mediawiki/core@master] UserRights: Refactor passing target to abstract methods

https://gerrit.wikimedia.org/r/1193019

Change #1193021 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] GlobalGroupMembership: Accept target as parameter in overriden methods

https://gerrit.wikimedia.org/r/1193021

Change #1193315 merged by jenkins-bot:

[mediawiki/core@master] UserRights: Refactor displaying the current user groups

https://gerrit.wikimedia.org/r/1193315

Change #1193316 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Refactor displaying current groups

https://gerrit.wikimedia.org/r/1193316

Change #1193779 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Remove canProcessExpiries

https://gerrit.wikimedia.org/r/1193779

Change #1193779 abandoned by Mszwarc:

[mediawiki/core@master] UserRights: Remove canProcessExpiries

Reason:

canProcessExpiries should be deprecated first

https://gerrit.wikimedia.org/r/1193779

Change #1193831 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] Hard deprecate SpecialUserRights::canProcessExpiries

https://gerrit.wikimedia.org/r/1193831

Change #1193408 merged by jenkins-bot:

[mediawiki/core@master] Special:UserRights: Add tests

https://gerrit.wikimedia.org/r/1193408

Change #1193839 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserGroupsSpecialPage: Pass $target to more methods

https://gerrit.wikimedia.org/r/1193839

Change #1193840 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Accept target param in more methods

https://gerrit.wikimedia.org/r/1193840

Change #1193831 merged by jenkins-bot:

[mediawiki/core@master] Hard deprecate SpecialUserRights::canProcessExpiries

https://gerrit.wikimedia.org/r/1193831

Change #1194117 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Extract showLogFragment to base class

https://gerrit.wikimedia.org/r/1194117

Change #1194118 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Drop showLogFragment

https://gerrit.wikimedia.org/r/1194118

Change #1194146 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Move getGroupName and doesWrites to base class

https://gerrit.wikimedia.org/r/1194146

Change #1194147 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Drop getGroupName and doesWrites

https://gerrit.wikimedia.org/r/1194147

Change #1194162 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/core@master] UserRights: Add guard clauses for target type

https://gerrit.wikimedia.org/r/1194162

Change #1194163 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Add guard clauses for target type

https://gerrit.wikimedia.org/r/1194163

Change #1194178 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/GlobalUserrights@master] Adapt GlobalUserrights to changes in SpecialUserRights

https://gerrit.wikimedia.org/r/1194178

Moving this task to Needs Review, as I've implemented all the refactorings related to UI that I planned.

Change #1193839 merged by jenkins-bot:

[mediawiki/core@master] UserGroupsSpecialPage: Pass $target to more methods

https://gerrit.wikimedia.org/r/1193839

Change #1194146 merged by jenkins-bot:

[mediawiki/core@master] UserRights: Move getGroupName and doesWrites to base class

https://gerrit.wikimedia.org/r/1194146

Change #1194117 merged by jenkins-bot:

[mediawiki/core@master] UserRights: Extract showLogFragment to base class

https://gerrit.wikimedia.org/r/1194117

Change #1194196 had a related patch set uploaded (by Mszwarc; author: Mszwarc):

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Accept target param, drop some methods

https://gerrit.wikimedia.org/r/1194196

Change #1193840 abandoned by Mszwarc:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Accept target param in more methods

Reason:

It was squashed into 1194196 to unblock CI

https://gerrit.wikimedia.org/r/1193840

Change #1194147 abandoned by Mszwarc:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Drop getGroupName and doesWrites

Reason:

It was squashed into 1194196 to unblock CI

https://gerrit.wikimedia.org/r/1194147

Change #1194118 abandoned by Mszwarc:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Drop showLogFragment

Reason:

It was squashed into 1194196 to unblock CI

https://gerrit.wikimedia.org/r/1194118

Change #1194196 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Accept target param, drop some methods

https://gerrit.wikimedia.org/r/1194196

Change #1194163 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] S:GlobalGroupMembership: Add guard clauses for target type

https://gerrit.wikimedia.org/r/1194163

Change #1194162 merged by jenkins-bot:

[mediawiki/core@master] UserRights: Add guard clauses for target type

https://gerrit.wikimedia.org/r/1194162

Change #1194178 abandoned by Mszwarc:

[mediawiki/extensions/GlobalUserrights@master] Adapt GlobalUserrights to changes in SpecialUserRights

Reason:

There will be more changes needed, as work progresses in T405575, so let's not waste our time on this, given that we're not its maintainers.

https://gerrit.wikimedia.org/r/1194178