jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/384702 )
Change subject: Replace deprecated edit review params
......................................................................
Replace deprecated edit review params
- Replace old options 'hideanons' or 'hideliu' with structured UI equivalent.
- Update tests to take this new behavior into account.
Bug: T176172
Change-Id: I6ad050f7864bf51db05c3db957ac3533358cd3ac
---
M includes/specialpage/ChangesListSpecialPage.php
M tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php
2 files changed, 53 insertions(+), 4 deletions(-)
Approvals:
Sbisson: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/specialpage/ChangesListSpecialPage.php
b/includes/specialpage/ChangesListSpecialPage.php
index 3f45250..418ef05 100644
--- a/includes/specialpage/ChangesListSpecialPage.php
+++ b/includes/specialpage/ChangesListSpecialPage.php
@@ -1185,7 +1185,10 @@
* @param FormOptions $opts
*/
public function validateOptions( FormOptions $opts ) {
- if ( $this->fixContradictoryOptions( $opts ) ) {
+ $isContradictory = $this->fixContradictoryOptions( $opts );
+ $isReplaced = $this->replaceOldOptions( $opts );
+
+ if ( $isContradictory || $isReplaced ) {
$query = wfArrayToCgi( $this->convertParamsForLink(
$opts->getChangedValues() ) );
$this->getOutput()->redirect(
$this->getPageTitle()->getCanonicalURL( $query ) );
}
@@ -1257,6 +1260,34 @@
}
/**
+ * Replace old options 'hideanons' or 'hideliu' with structured UI
equivalent
+ *
+ * @param FormOptions $opts
+ * @return bool True if the change was made
+ */
+ public function replaceOldOptions( FormOptions $opts ) {
+ if ( !$this->isStructuredFilterUiEnabled() ) {
+ return false;
+ }
+
+ // At this point 'hideanons' and 'hideliu' cannot be both true,
+ // because fixBackwardsCompatibilityOptions resets (at least)
'hideanons' in such case
+ if ( $opts[ 'hideanons' ] ) {
+ $opts->reset( 'hideanons' );
+ $opts[ 'userExpLevel' ] = 'registered';
+ return true;
+ }
+
+ if ( $opts[ 'hideliu' ] ) {
+ $opts->reset( 'hideliu' );
+ $opts[ 'userExpLevel' ] = 'unregistered';
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
* Convert parameters values from true/false to 1/0
* so they are not omitted by wfArrayToCgi()
* Bug 36524
diff --git a/tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php
b/tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php
index 5a0834a..9b81d6d 100644
--- a/tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php
+++ b/tests/phpunit/includes/specialpage/ChangesListSpecialPageTest.php
@@ -981,15 +981,33 @@
[
[ 'hideanons' => 1, 'hideliu' => 1, 'hidebots'
=> 1 ],
true,
- [ 'hideliu' => 1, 'hidebots' => 1, ],
+ [ 'userExpLevel' => 'unregistered', 'hidebots'
=> 1, ],
],
-
[
[ 'hideanons' => 1, 'hideliu' => 1, 'hidebots'
=> 0 ],
true,
[ 'hidebots' => 0, 'hidehumans' => 1 ],
],
-
+ [
+ [ 'hideanons' => 1 ],
+ true,
+ [ 'userExpLevel' => 'registered' ]
+ ],
+ [
+ [ 'hideliu' => 1 ],
+ true,
+ [ 'userExpLevel' => 'unregistered' ]
+ ],
+ [
+ [ 'hideanons' => 1, 'hidebots' => 1 ],
+ true,
+ [ 'userExpLevel' => 'registered', 'hidebots' =>
1 ]
+ ],
+ [
+ [ 'hideliu' => 1, 'hidebots' => 0 ],
+ true,
+ [ 'userExpLevel' => 'unregistered', 'hidebots'
=> 0 ]
+ ],
[
[ 'hidemyself' => 1, 'hidebyothers' => 1 ],
true,
--
To view, visit https://gerrit.wikimedia.org/r/384702
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6ad050f7864bf51db05c3db957ac3533358cd3ac
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Petar.petkovic <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Sbisson <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits