jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/405017 )
Change subject: Display template names in CargoTables even if table doesn't
exist
......................................................................
Display template names in CargoTables even if table doesn't exist
Change-Id: I4a80cc637b2d13c408f75820ef4705eabaaa9e7d
---
M specials/CargoTables.php
1 file changed, 46 insertions(+), 38 deletions(-)
Approvals:
Yaron Koren: Looks good to me, approved
jenkins-bot: Verified
diff --git a/specials/CargoTables.php b/specials/CargoTables.php
index f23ec3a..9879044 100644
--- a/specials/CargoTables.php
+++ b/specials/CargoTables.php
@@ -260,6 +260,49 @@
return $actionLinks;
}
+ function tableTemplatesText( $tableName, $templatesThatDeclareTables,
$templatesThatAttachToTables ) {
+ if ( method_exists( $this, 'getLinkRenderer' ) ) {
+ $linkRenderer = $this->getLinkRenderer();
+ } else {
+ $linkRenderer = null;
+ }
+
+ // "Declared by" text
+ if ( !array_key_exists( $tableName, $templatesThatDeclareTables
) ) {
+ $declaringTemplatesText = $this->msg(
'cargo-cargotables-notdeclared' )->text();
+ } else {
+ $templatesThatDeclareThisTable =
$templatesThatDeclareTables[$tableName];
+ $templateLinks = array();
+ foreach ( $templatesThatDeclareThisTable as $templateID
) {
+ $templateTitle = Title::newFromID( $templateID
);
+ $templateLinks[] = CargoUtils::makeLink(
$linkRenderer, $templateTitle );
+ }
+ $declaringTemplatesText = $this->msg(
+ 'cargo-cargotables-declaredby', implode(
$templateLinks ) )->text();
+ }
+
+ // "Attached by" text
+ if ( array_key_exists( $tableName, $templatesThatAttachToTables
) ) {
+ $templatesThatAttachToThisTable =
$templatesThatAttachToTables[$tableName];
+ } else {
+ $templatesThatAttachToThisTable = array();
+ }
+
+ if ( count( $templatesThatAttachToThisTable ) == 0 ) {
+ return $declaringTemplatesText;
+ }
+
+ $templateLinks = array();
+ foreach ( $templatesThatAttachToThisTable as $templateID ) {
+ $templateTitle = Title::newFromID( $templateID );
+ $templateLinks[] = CargoUtils::makeLink( $linkRenderer,
$templateTitle );
+ }
+ $attachingTemplatesText = $this->msg(
+ 'cargo-cargotables-attachedby', implode( $templateLinks
) )->text();
+
+ return "$declaringTemplatesText, $attachingTemplatesText";
+ }
+
/**
* Returns HTML for a bulleted list of Cargo tables, with various
* links and information for each one.
@@ -296,6 +339,7 @@
if ( !$cdb->tableExists( $tableName ) ) {
$tableText = "$tableName - ";
$tableText .= '<span class="error">' .
$this->msg( "cargo-cargotables-nonexistenttable" )->parse() . '</span>';
+ $tableText .= ' (' . $this->tableTemplatesText(
$tableName, $templatesThatDeclareTables, $templatesThatAttachToTables ) . ')';
$text .= Html::rawElement( 'li', null,
$tableText );
continue;
}
@@ -306,45 +350,9 @@
$firstTemplateID = $canBeRecreated ?
$templatesThatDeclareTables[$tableName][0] : null;
$actionLinks = $this->displayActionLinksForTable(
$tableName, false, $canBeRecreated, $firstTemplateID );
$numRowsText = $this->displayNumRowsForTable( $cdb,
$tableName );
+ $templatesText = $this->tableTemplatesText( $tableName,
$templatesThatDeclareTables, $templatesThatAttachToTables );
- // "Declared by" text
- if ( !array_key_exists( $tableName,
$templatesThatDeclareTables ) ) {
- $declaringTemplatesText = $this->msg(
'cargo-cargotables-notdeclared' )->text();
- } else {
- $templatesThatDeclareThisTable =
$templatesThatDeclareTables[$tableName];
- $templateLinks = array();
- foreach ( $templatesThatDeclareThisTable as
$templateID ) {
- $templateTitle = Title::newFromID(
$templateID );
- $templateLinks[] =
CargoUtils::makeLink( $linkRenderer, $templateTitle );
- }
- $declaringTemplatesText = $this->msg(
- 'cargo-cargotables-declaredby',
implode( ', ', $templateLinks ) )->text();
- }
-
- // "Attached by" text
- if ( array_key_exists( $tableName,
$templatesThatAttachToTables ) ) {
- $templatesThatAttachToThisTable =
$templatesThatAttachToTables[$tableName];
- } else {
- $templatesThatAttachToThisTable = array();
- }
-
- if ( count( $templatesThatAttachToThisTable ) == 0 ) {
- $attachingTemplatesText = '';
- } else {
- $templateLinks = array();
- foreach ( $templatesThatAttachToThisTable as
$templateID ) {
- $templateTitle = Title::newFromID(
$templateID );
- $templateLinks[] =
CargoUtils::makeLink( $linkRenderer, $templateTitle );
- }
- $attachingTemplatesText = $this->msg(
- 'cargo-cargotables-attachedby',
implode( ', ', $templateLinks ) )->text();
- }
-
- $tableText = "$tableName ($actionLinks) - $numRowsText
($declaringTemplatesText";
- if ( $attachingTemplatesText != '' ) {
- $tableText .= ", $attachingTemplatesText";
- }
- $tableText .= ')';
+ $tableText = "$tableName ($actionLinks) - $numRowsText
($templatesText)";
if ( $hasReplacementTable ) {
if ( !$cdb->tableExists( $tableName . '__NEXT'
) ) {
--
To view, visit https://gerrit.wikimedia.org/r/405017
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I4a80cc637b2d13c408f75820ef4705eabaaa9e7d
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Cargo
Gerrit-Branch: master
Gerrit-Owner: Yaron Koren <[email protected]>
Gerrit-Reviewer: Yaron Koren <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits