Creates a new resourceLoader module which holds the
scripts and styles related to the temp user (IP masking) banner
described in T339379.
The temp user banner includes a tooltip which explains
what temporary accounts are. This is built using OO.ui.PopupWidget
and includes a clock icon and parsed i18n messages.
The Tooltip dependencies are loaded and instantiated on a click event
in order to minimize the dependencies on page load.
Bug: T339379
Change-Id: Ie2631221b0a07dd3bf55e970805d30fbb3cac190
Depends-on: Id5a4a9a00e50420c50868c54f899d36d7ddd373d
Depends-on: Icf622c4be910f5d14de95355efa02c05930179bf
When we first deploy temporary account autocreation, we want temporary
users to resemble anon users more than registered users, for minimal
community impact.
If we add them to the 'user' group, then they will automatically get
whatever rights a wiki currently assigns to registered users. If we
don't, they will only get rights that are currently given to everyone
(same as anons).
Therefore stop adding them to the 'user' group, and instead add them
to a new 'temp' group, in case site admins want to give them extra
rights.
Bug: T340457
Depends-On: I6333fa2289f3142d1b5cedf2cc910ced3ba5019e
Change-Id: Idb46252fe6533ab0a5410bdb3093043cb359c206
It should not be necessary to call setOptions() to perform a
transformation. All options should have defaults defined.
Change-Id: I1fade591e73034e071417d31fbdfff1a83180360
* Add MediaWikiIntegrationTestCase::newSelectQueryBuilder(), which
creates a subclass of SelectQueryBuilder with assert methods.
* Migrate most callers of assertSelect() to this new query builder
interface.
Bug: T311866
Change-Id: I7392b37988067020d5f684276320dae0a474631a
A shared get content assertion is added to PageConfigFactory::create
Bug: T338925
Bug: T336501
Follows-Up: I647ed253691970bbf39321a3cd652ea14bc11278
Change-Id: Iaf3898e5c53f1673ade639f7990911e4595801a8
Autopromotion was disabled for temporary users in
d6a3b6cfa8. In that commit,
PermissionManager::getUserImplicitGroups, no longer checks autopromote
groups for temporary users, so PermissionManager::getUserPermissions
no longer finds autopromote groups for temporary users.
In this commit, UserGroupManager::getUserAutopromoteGroups no longer
finds autopromote groups for temporary users.
Bug: T340462
Change-Id: I189391bd9a41718648d198b83736d837c76ead52
An integration test that checks for a regex match on the HTML output.
Achieves 92% coverage of showDiffPage.
Change-Id: I3b2af33257f2326b67ff6f0734aeff0da3b69f43
Replace all core calls to User::getQueryInfo() with an equivalent
SelectQueryBuilder.
Bug: T311866
Change-Id: Ib249a9d9098b1c09907a90607206edd8331bad3d
Add SelectQueryBuilder::merge(), which is essentially the same as
$sqb1->queryInfo( $sqb2->getQueryInfo() );
This allows things like User::getQueryInfo() to be replaced with similar
methods that return a pre-configured SelectQueryBuilder for merging into
some larger query.
Add SelectQueryBuilder::clearFields(), which erases the list of fields,
allowing queries to be merged without merging their fields, which is a
common use case.
Change-Id: If1b36acbc6aebec472fa83dd9481295f0648bc61
Using the OOUI class name is an established pattern outside of
OOUI widgets, so it's easier to stick with it for the diff page
hiding and showing (switching to and from inline/table diffs, etc.).
Bug: T324759
Change-Id: I805b6b71d8e137eaa3e000b15455557df42af838
getTablePrefix() is used to show the inline legend and inline switcher.
It is not yet part of a released stable interface.
Theoretically there may be multiple text slots on a page, and we don't
want multiple inline legends. There was already a fragment assembly
system, for the benefit of hook handlers, so move that up to the page
level, so that it can also deduplicate prefix fragments coming from
each slot.
Add tests.
Bug: T324759
Change-Id: I9baa5c24128c63bc318ba13e83a024843f4ab15e
When calling editPage() with a string it converts it to a WikiPage each
time it is called. When edit a page only once that is okay,
but when adding more revision to the same page it is better to pass a
WikiPage instead to allow reuse of internal states of WikiPage to speed
up the tests
Bug: T225730
Change-Id: I7a0e7e3e75ade5d6abe8e62a03a029190f3b6da8
When the old and new content object for a slot cannot be compared,
show an error message for that slot only, instead of throwing an
exception.
Bug: T214217
Change-Id: I6e982df358f85ca78f0448b3a93ded3f40676310
This fixes a bug in getHandlerDescriptions() that causes the description
of a handler to be returned twice after the handlers for a given hook
were initialized, so the handler would be present both in $this->hooks
as well as in the HookRegistry.
Change-Id: Iac913d96f0f2cdfc72f1f5f006af83691d79d4fe
There should be no need to call hook handlers directly,
this should only be done by HookContainer.
Change-Id: I8fa46c2eb6a40ad98e564c31dcfb103825608426