mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/DiscussionTools
synced 2024-11-27 17:51:09 +00:00
Merge "Show created/notified dates on Special:TopicSubscriptions"
This commit is contained in:
commit
9cf6fc6240
|
@ -137,6 +137,9 @@
|
||||||
"discussiontools-topicsubscription-notify-unsubscribed-body": "You will no longer receive notifications about new comments in this topic.",
|
"discussiontools-topicsubscription-notify-unsubscribed-body": "You will no longer receive notifications about new comments in this topic.",
|
||||||
"discussiontools-topicsubscription-notify-unsubscribed-title": "You have unsubscribed.",
|
"discussiontools-topicsubscription-notify-unsubscribed-title": "You have unsubscribed.",
|
||||||
"discussiontools-topicsubscription-pager-actions": "Actions",
|
"discussiontools-topicsubscription-pager-actions": "Actions",
|
||||||
|
"discussiontools-topicsubscription-pager-created": "First subscribed",
|
||||||
|
"discussiontools-topicsubscription-pager-notified": "Latest notification",
|
||||||
|
"discussiontools-topicsubscription-pager-notified-never": "never",
|
||||||
"discussiontools-topicsubscription-pager-page": "Page",
|
"discussiontools-topicsubscription-pager-page": "Page",
|
||||||
"discussiontools-topicsubscription-pager-topic": "Topic",
|
"discussiontools-topicsubscription-pager-topic": "Topic",
|
||||||
"discussiontools-topicsubscription-pager-unsubscribe-button": "Unsubscribe",
|
"discussiontools-topicsubscription-pager-unsubscribe-button": "Unsubscribe",
|
||||||
|
|
|
@ -149,6 +149,9 @@
|
||||||
"discussiontools-topicsubscription-notify-unsubscribed-body": "Body of notification shown when a user unsubscribes from a topic.",
|
"discussiontools-topicsubscription-notify-unsubscribed-body": "Body of notification shown when a user unsubscribes from a topic.",
|
||||||
"discussiontools-topicsubscription-notify-unsubscribed-title": "Title of notification shown when a user unsubscribes from a topic.",
|
"discussiontools-topicsubscription-notify-unsubscribed-title": "Title of notification shown when a user unsubscribes from a topic.",
|
||||||
"discussiontools-topicsubscription-pager-actions": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.\n{{identical|Action}}",
|
"discussiontools-topicsubscription-pager-actions": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.\n{{identical|Action}}",
|
||||||
|
"discussiontools-topicsubscription-pager-created": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.",
|
||||||
|
"discussiontools-topicsubscription-pager-notified": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.",
|
||||||
|
"discussiontools-topicsubscription-pager-notified-never": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] in the table.",
|
||||||
"discussiontools-topicsubscription-pager-page": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.",
|
"discussiontools-topicsubscription-pager-page": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.",
|
||||||
"discussiontools-topicsubscription-pager-topic": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.",
|
"discussiontools-topicsubscription-pager-topic": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] as a table heading.",
|
||||||
"discussiontools-topicsubscription-pager-unsubscribe-button": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] in the table, as a button label.",
|
"discussiontools-topicsubscription-pager-unsubscribe-button": "Used on [[mw:Special:TopicSubscriptions|Special:TopicSubscriptions]] in the table, as a button label.",
|
||||||
|
|
|
@ -18,7 +18,10 @@ class TopicSubscriptionsPager extends TablePager {
|
||||||
* won't get "stuck" when e.g. 50 subscriptions are all created within a second.
|
* won't get "stuck" when e.g. 50 subscriptions are all created within a second.
|
||||||
*/
|
*/
|
||||||
private const INDEX_FIELDS = [
|
private const INDEX_FIELDS = [
|
||||||
|
// The auto-increment ID will almost always have the same order as sub_created
|
||||||
|
// and the field already has an index.
|
||||||
'_topic' => [ 'sub_id' ],
|
'_topic' => [ 'sub_id' ],
|
||||||
|
'sub_created' => [ 'sub_id' ],
|
||||||
// TODO Add indexes that cover these fields to enable sorting by them
|
// TODO Add indexes that cover these fields to enable sorting by them
|
||||||
// 'sub_state' => [ 'sub_state', 'sub_item' ],
|
// 'sub_state' => [ 'sub_state', 'sub_item' ],
|
||||||
// 'sub_created' => [ 'sub_created', 'sub_item' ],
|
// 'sub_created' => [ 'sub_created', 'sub_item' ],
|
||||||
|
@ -60,6 +63,8 @@ class TopicSubscriptionsPager extends TablePager {
|
||||||
return [
|
return [
|
||||||
'_topic' => $this->msg( 'discussiontools-topicsubscription-pager-topic' )->text(),
|
'_topic' => $this->msg( 'discussiontools-topicsubscription-pager-topic' )->text(),
|
||||||
'_page' => $this->msg( 'discussiontools-topicsubscription-pager-page' )->text(),
|
'_page' => $this->msg( 'discussiontools-topicsubscription-pager-page' )->text(),
|
||||||
|
'sub_created' => $this->msg( 'discussiontools-topicsubscription-pager-created' )->text(),
|
||||||
|
'sub_notified' => $this->msg( 'discussiontools-topicsubscription-pager-notified' )->text(),
|
||||||
'_unsubscribe' => $this->msg( 'discussiontools-topicsubscription-pager-actions' )->text(),
|
'_unsubscribe' => $this->msg( 'discussiontools-topicsubscription-pager-actions' )->text(),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -81,6 +86,14 @@ class TopicSubscriptionsPager extends TablePager {
|
||||||
$title = Title::makeTitleSafe( $row->sub_namespace, $row->sub_title );
|
$title = Title::makeTitleSafe( $row->sub_namespace, $row->sub_title );
|
||||||
return $linkRenderer->makeLink( $title, $title->getPrefixedText() );
|
return $linkRenderer->makeLink( $title, $title->getPrefixedText() );
|
||||||
|
|
||||||
|
case 'sub_created':
|
||||||
|
return htmlspecialchars( $this->getLanguage()->userTimeAndDate( $value, $this->getUser() ) );
|
||||||
|
|
||||||
|
case 'sub_notified':
|
||||||
|
return $value ?
|
||||||
|
htmlspecialchars( $this->getLanguage()->userTimeAndDate( $value, $this->getUser() ) ) :
|
||||||
|
$this->msg( 'discussiontools-topicsubscription-pager-notified-never' )->escaped();
|
||||||
|
|
||||||
case '_unsubscribe':
|
case '_unsubscribe':
|
||||||
$title = Title::makeTitleSafe( $row->sub_namespace, $row->sub_title );
|
$title = Title::makeTitleSafe( $row->sub_namespace, $row->sub_title );
|
||||||
return (string)new OOUI\ButtonWidget( [
|
return (string)new OOUI\ButtonWidget( [
|
||||||
|
@ -123,6 +136,8 @@ class TopicSubscriptionsPager extends TablePager {
|
||||||
'sub_namespace',
|
'sub_namespace',
|
||||||
'sub_title',
|
'sub_title',
|
||||||
'sub_section',
|
'sub_section',
|
||||||
|
'sub_created',
|
||||||
|
'sub_notified',
|
||||||
],
|
],
|
||||||
'conds' => [
|
'conds' => [
|
||||||
'sub_user' => $this->getUser()->getId(),
|
'sub_user' => $this->getUser()->getId(),
|
||||||
|
@ -135,7 +150,7 @@ class TopicSubscriptionsPager extends TablePager {
|
||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
public function getDefaultSort() {
|
public function getDefaultSort() {
|
||||||
return '_topic';
|
return 'sub_created';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -149,7 +164,7 @@ class TopicSubscriptionsPager extends TablePager {
|
||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
protected function isFieldSortable( $field ) {
|
protected function isFieldSortable( $field ) {
|
||||||
// Topic is set to the auto-ID field (sub_id), so sorting by it is not very useful
|
// Hide the sort button for "Topic" as it is more accurately shown as "Created"
|
||||||
return isset( static::INDEX_FIELDS[$field] ) && $field !== '_topic';
|
return isset( static::INDEX_FIELDS[$field] ) && $field !== '_topic';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue