jenkins-bot has submitted this change and it was merged.
Change subject: Restore 'new topic' records to the watchlist
......................................................................
Restore 'new topic' records to the watchlist
Internally, add exclude_from_recentchanges (only applies
to Special:RecentChanges) and change rc_insert back to true.
Also rename classes to standardize Formatter class names and reflect
that these are used for more than just Special:RecentChanges.
Bug: T108396
Change-Id: I9b13004b366e257c8999be30dff035f903e99929
(cherry picked from commit 956170076848e061bc69be4c99f7d2ce5e1694f1)
---
M FlowActions.php
M Hooks.php
M autoload.php
M container.php
R includes/Formatter/ChangesListFormatter.php
R includes/Formatter/ChangesListQuery.php
R includes/Formatter/ContributionsFormatter.php
M includes/Formatter/IRCLineUrlFormatter.php
8 files changed, 42 insertions(+), 34 deletions(-)
Approvals:
Mattflaschen: Looks good to me, approved
jenkins-bot: Verified
diff --git a/FlowActions.php b/FlowActions.php
index 71efa05..3e696b9 100644
--- a/FlowActions.php
+++ b/FlowActions.php
@@ -249,9 +249,12 @@
'new-topic' => array(
'performs-writes' => true,
'log_type' => false,
- 'rc_insert' => false,
+ 'rc_title' => 'owner',
+ 'rc_insert' => true,
'exclude_from_contributions' => true,
'exclude_from_history' => true,
+ // exclude_from_recentchanges only refers to the actual
Special:RecentChanges. It does not affect Special:Watchlist.
+ 'exclude_from_recentchanges' => true,
'permissions' => array(
PostRevision::MODERATED_NONE => '',
),
diff --git a/Hooks.php b/Hooks.php
index 6720c1c..4c8a7a1 100644
--- a/Hooks.php
+++ b/Hooks.php
@@ -270,8 +270,8 @@
set_error_handler( new Flow\RecoverableErrorHandler, -1 );
try {
- /** @var Flow\Formatter\RecentChangesQuery $query */
- $query = Container::get( 'query.recentchanges' );
+ /** @var Flow\Formatter\ChangesListQuery $query */
+ $query = Container::get( 'query.changeslist' );
$query->loadMetadataBatch(
$rows,
$changesList->isWatchlist()
@@ -361,8 +361,8 @@
set_error_handler( new Flow\RecoverableErrorHandler, -1 );
try {
- /** @var Flow\Formatter\RecentChangesQuery $query */
- $query = Container::get( 'query.recentchanges' );
+ /** @var Flow\Formatter\ChangesListQuery $query */
+ $query = Container::get( 'query.changeslist' );
$row = $query->getResult( $changesList, $rc,
$changesList->isWatchlist() );
if ( $row === false ) {
@@ -370,8 +370,8 @@
return false;
}
- /** @var Flow\Formatter\RecentChanges $formatter */
- $formatter = Container::get( 'formatter.recentchanges'
);
+ /** @var Flow\Formatter\ChangesListFormatter $formatter
*/
+ $formatter = Container::get( 'formatter.changeslist' );
$line = $formatter->format( $row, $changesList,
$topicOnly );
} catch ( Exception $e ) {
wfDebugLog( 'Flow', __METHOD__ . ': Exception
formatting rc ' . $rc->getAttribute( 'rc_id' ) . ' ' . $e );
@@ -414,8 +414,8 @@
set_error_handler( new Flow\RecoverableErrorHandler, -1 );
try {
- /** @var Flow\Formatter\RecentChangesQuery $query */
- $query = Container::get( 'query.recentchanges' );
+ /** @var Flow\Formatter\ChangesListQuery $query */
+ $query = Container::get( 'query.changeslist' );
$row = $query->getResult( $changesList, $rc,
$changesList->isWatchlist() );
if ( $row === false ) {
@@ -423,8 +423,8 @@
return false;
}
- /** @var Flow\Formatter\RecentChanges $formatter */
- $formatter = Container::get( 'formatter.recentchanges'
);
+ /** @var Flow\Formatter\ChangesListFormatter $formatter
*/
+ $formatter = Container::get( 'formatter.changeslist' );
$logTextLinks = $formatter->getLogTextLinks( $row,
$changesList, $block, $links );
} catch ( Exception $e ) {
wfDebugLog( 'Flow', __METHOD__ . ': Exception
formatting rc logtext ' . $rc->getAttribute( 'rc_id' ) . ' ' . $e );
@@ -465,14 +465,14 @@
return true;
}
- $query = Container::get( 'query.recentchanges' );
+ $query = Container::get( 'query.changeslist' );
$row = $query->getResult( $changesList, $rc,
$changesList->isWatchlist() );
if ( $row === false ) {
return false;
}
- /** @var Flow\Formatter\RecentChanges $formatter */
- $formatter = Container::get( 'formatter.recentchanges' );
+ /** @var Flow\Formatter\ChangesListFormatter $formatter */
+ $formatter = Container::get( 'formatter.changeslist' );
try {
$data['timestampLink'] = $formatter->getTimestampLink(
$row, $changesList );
$data['recentChangesFlags'] = $formatter->getFlags(
$row, $changesList );
@@ -712,7 +712,7 @@
set_error_handler( new Flow\RecoverableErrorHandler, -1 );
try {
- /** @var Flow\Formatter\Contributions $formatter */
+ /** @var Flow\Formatter\ContributionsFormatter
$formatter */
$formatter = Container::get( 'formatter.contributions'
);
$line = $formatter->format( $row, $pager );
} catch ( Exception $e ) {
diff --git a/autoload.php b/autoload.php
index c6d1cf6..609ae5a 100644
--- a/autoload.php
+++ b/autoload.php
@@ -132,10 +132,12 @@
'Flow\\Formatter\\BoardHistoryQuery' => __DIR__ .
'/includes/Formatter/BoardHistoryQuery.php',
'Flow\\Formatter\\CategoryViewerFormatter' => __DIR__ .
'/includes/Formatter/CategoryViewerFormatter.php',
'Flow\\Formatter\\CategoryViewerQuery' => __DIR__ .
'/includes/Formatter/CategoryViewerQuery.php',
+ 'Flow\\Formatter\\ChangesListFormatter' => __DIR__ .
'/includes/Formatter/ChangesListFormatter.php',
+ 'Flow\\Formatter\\ChangesListQuery' => __DIR__ .
'/includes/Formatter/ChangesListQuery.php',
'Flow\\Formatter\\CheckUserFormatter' => __DIR__ .
'/includes/Formatter/CheckUserFormatter.php',
'Flow\\Formatter\\CheckUserQuery' => __DIR__ .
'/includes/Formatter/CheckUserQuery.php',
'Flow\\Formatter\\CheckUserRow' => __DIR__ .
'/includes/Formatter/CheckUserQuery.php',
- 'Flow\\Formatter\\Contributions' => __DIR__ .
'/includes/Formatter/Contributions.php',
+ 'Flow\\Formatter\\ContributionsFormatter' => __DIR__ .
'/includes/Formatter/ContributionsFormatter.php',
'Flow\\Formatter\\ContributionsQuery' => __DIR__ .
'/includes/Formatter/ContributionsQuery.php',
'Flow\\Formatter\\ContributionsRow' => __DIR__ .
'/includes/Formatter/ContributionsQuery.php',
'Flow\\Formatter\\DeletedContributionsRow' => __DIR__ .
'/includes/Formatter/ContributionsQuery.php',
@@ -147,9 +149,7 @@
'Flow\\Formatter\\PostSummaryQuery' => __DIR__ .
'/includes/Formatter/PostSummaryQuery.php',
'Flow\\Formatter\\PostSummaryViewQuery' => __DIR__ .
'/includes/Formatter/RevisionViewQuery.php',
'Flow\\Formatter\\PostViewQuery' => __DIR__ .
'/includes/Formatter/RevisionViewQuery.php',
- 'Flow\\Formatter\\RecentChanges' => __DIR__ .
'/includes/Formatter/RecentChanges.php',
- 'Flow\\Formatter\\RecentChangesQuery' => __DIR__ .
'/includes/Formatter/RecentChangesQuery.php',
- 'Flow\\Formatter\\RecentChangesRow' => __DIR__ .
'/includes/Formatter/RecentChangesQuery.php',
+ 'Flow\\Formatter\\RecentChangesRow' => __DIR__ .
'/includes/Formatter/ChangesListQuery.php',
'Flow\\Formatter\\RevisionDiffViewFormatter' => __DIR__ .
'/includes/Formatter/RevisionDiffViewFormatter.php',
'Flow\\Formatter\\RevisionFormatter' => __DIR__ .
'/includes/Formatter/RevisionFormatter.php',
'Flow\\Formatter\\RevisionUndoViewFormatter' => __DIR__ .
'/includes/Formatter/RevisionUndoViewFormatter.php',
diff --git a/container.php b/container.php
index ff266d2..cc0331a 100644
--- a/container.php
+++ b/container.php
@@ -916,8 +916,8 @@
$c['repository.tree']
);
};
-$c['query.recentchanges'] = function( $c ) {
- $query = new Flow\Formatter\RecentChangesQuery(
+$c['query.changeslist'] = function( $c ) {
+ $query = new Flow\Formatter\ChangesListQuery(
$c['storage'],
$c['repository.tree'],
$c['flow_actions']
@@ -954,8 +954,8 @@
$c['permissions']
);
};
-$c['formatter.recentchanges'] = function( $c ) {
- return new Flow\Formatter\RecentChanges(
+$c['formatter.changeslist'] = function( $c ) {
+ return new Flow\Formatter\ChangesListFormatter(
$c['permissions'],
$c['formatter.revision']
);
@@ -971,7 +971,7 @@
);
};
$c['formatter.contributions'] = function( $c ) {
- return new Flow\Formatter\Contributions(
+ return new Flow\Formatter\ContributionsFormatter(
$c['permissions'],
$c['formatter.revision']
);
diff --git a/includes/Formatter/RecentChanges.php
b/includes/Formatter/ChangesListFormatter.php
similarity index 98%
rename from includes/Formatter/RecentChanges.php
rename to includes/Formatter/ChangesListFormatter.php
index 114ab28..4981cc5 100644
--- a/includes/Formatter/RecentChanges.php
+++ b/includes/Formatter/ChangesListFormatter.php
@@ -12,7 +12,7 @@
use IContextSource;
use Linker;
-class RecentChanges extends AbstractFormatter {
+class ChangesListFormatter extends AbstractFormatter {
protected function getHistoryType() {
return 'recentchanges';
}
diff --git a/includes/Formatter/RecentChangesQuery.php
b/includes/Formatter/ChangesListQuery.php
similarity index 90%
rename from includes/Formatter/RecentChangesQuery.php
rename to includes/Formatter/ChangesListQuery.php
index 0f75960..d502c07 100644
--- a/includes/Formatter/RecentChangesQuery.php
+++ b/includes/Formatter/ChangesListQuery.php
@@ -10,7 +10,7 @@
use Flow\Repository\TreeRepository;
use RecentChange;
-class RecentChangesQuery extends AbstractQuery {
+class ChangesListQuery extends AbstractQuery {
/**
* Check if the most recent action for an entity has been displayed
already
@@ -69,7 +69,7 @@
if ( !isset( $changeData['revision_type'] ) ) {
continue;
}
- if ( $this->excludeFromRecentChanges(
$changeData['action'] ) ) {
+ if ( $this->excludeFromChangesList( $isWatchlist,
$changeData['action'] ) ) {
continue;
}
if ( $isWatchlist && $this->isRecordHidden( $changeData
) ) {
@@ -100,12 +100,17 @@
}
/**
- * @param string $action
+ * @param bool $isWatchlist Whether this is Special:Watchlist
+ * @param string $action The Flow action this line represents
* @return bool
*/
- private function excludeFromRecentChanges( $action ) {
- $rcInsert = $this->actions->getValue( $action, 'rc_insert' );
- return !$rcInsert;
+ private function excludeFromChangesList( $isWatchlist, $action ) {
+ // If we want to exclude things from watchlist, we can add
exclude_from_watchlist
+ if ( $isWatchlist ) {
+ return false;
+ } else {
+ return (bool) $this->actions->getValue( $action,
'exclude_from_recentchanges' );
+ }
}
/**
@@ -140,7 +145,7 @@
* RC entries are not being created for 'new-topic' action but
* old records exists. This filters them out.
*/
- if ( $this->excludeFromRecentChanges( $changeData['action'] ) )
{
+ if ( $this->excludeFromChangesList( $isWatchlist,
$changeData['action'] ) ) {
return false;
}
diff --git a/includes/Formatter/Contributions.php
b/includes/Formatter/ContributionsFormatter.php
similarity index 97%
rename from includes/Formatter/Contributions.php
rename to includes/Formatter/ContributionsFormatter.php
index 5448dfe..51ec52b 100644
--- a/includes/Formatter/Contributions.php
+++ b/includes/Formatter/ContributionsFormatter.php
@@ -10,7 +10,7 @@
use IContextSource;
use Html;
-class Contributions extends AbstractFormatter {
+class ContributionsFormatter extends AbstractFormatter {
protected function getHistoryType() {
return 'contributions';
}
diff --git a/includes/Formatter/IRCLineUrlFormatter.php
b/includes/Formatter/IRCLineUrlFormatter.php
index edae039..c4334e4 100644
--- a/includes/Formatter/IRCLineUrlFormatter.php
+++ b/includes/Formatter/IRCLineUrlFormatter.php
@@ -62,7 +62,7 @@
*/
protected function serializeRcRevision( RecentChange $rc,
IContextSource $ctx ) {
/** @var RecentChangesQuery $query */
- $query = Container::get( 'query.recentchanges' );
+ $query = Container::get( 'query.changeslist' );
$query->loadMetadataBatch( array( (object)$rc->mAttribs ) );
$rcRow = $query->getResult( null, $rc );
--
To view, visit https://gerrit.wikimedia.org/r/232383
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9b13004b366e257c8999be30dff035f903e99929
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: wmf/1.26wmf18
Gerrit-Owner: Mattflaschen <[email protected]>
Gerrit-Reviewer: Mattflaschen <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits