Aleksey Bekh-Ivanov (WMDE) has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/342051 )
Change subject: Hide SpecialNewLexeme in Special:SpecialPages if Lexeme or Item are not enabled ...................................................................... Hide SpecialNewLexeme in Special:SpecialPages if Lexeme or Item are not enabled Change-Id: Iae5ccee31d194c49e25130d9d448b9f3e0f1c7ee Depends-On: I521f5d4f6192ff3f4454b8af960f76e5ec85b803 --- M src/Specials/SpecialNewLexeme.php M tests/phpunit/mediawiki/Specials/SpecialNewLexemeTest.php 2 files changed, 23 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme refs/changes/51/342051/1 diff --git a/src/Specials/SpecialNewLexeme.php b/src/Specials/SpecialNewLexeme.php index 5a84d1f..486dd68 100644 --- a/src/Specials/SpecialNewLexeme.php +++ b/src/Specials/SpecialNewLexeme.php @@ -5,10 +5,12 @@ use Status; use Wikibase\CopyrightMessageBuilder; use Wikibase\DataModel\Entity\EntityDocument; +use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Term\Term; use Wikibase\DataModel\Term\TermList; use Wikibase\Lexeme\DataModel\Lexeme; +use Wikibase\Lib\Store\EntityNamespaceLookup; use Wikibase\Repo\Specials\HTMLForm\HTMLContentLanguageField; use Wikibase\Repo\Specials\HTMLForm\HTMLItemReferenceField; use Wikibase\Repo\Specials\HTMLForm\HTMLTrimmedTextField; @@ -42,11 +44,18 @@ $settings->getSetting( 'dataRightsText' ) ); - return new self($copyrightView); + return new self( $copyrightView, $wikibaseRepo->getEntityNamespaceLookup() ); } - public function __construct(SpecialPageCopyrightView $copyrightView) { - parent::__construct( 'NewLexeme', 'createpage', $copyrightView ); + public function __construct( + SpecialPageCopyrightView $copyrightView, + EntityNamespaceLookup $entityNamespaceLookup + ) { + parent::__construct( 'NewLexeme', 'createpage', $copyrightView, $entityNamespaceLookup ); + } + + public function isListed() { + return parent::isListed() && (bool)$this->entityNamespaceLookup->getEntityNamespace( Item::ENTITY_TYPE ); } /** @@ -149,4 +158,11 @@ return []; } + /** + * @see SpecialNewEntity::getEntityType + */ + protected function getEntityType() { + return Lexeme::ENTITY_TYPE; + } + } diff --git a/tests/phpunit/mediawiki/Specials/SpecialNewLexemeTest.php b/tests/phpunit/mediawiki/Specials/SpecialNewLexemeTest.php index 5d7017b..159da25 100644 --- a/tests/phpunit/mediawiki/Specials/SpecialNewLexemeTest.php +++ b/tests/phpunit/mediawiki/Specials/SpecialNewLexemeTest.php @@ -10,6 +10,7 @@ use Wikibase\Lexeme\DataModel\Lexeme; use Wikibase\Lexeme\DataModel\LexemeId; use Wikibase\Lexeme\Specials\SpecialNewLexeme; +use Wikibase\Lib\Store\EntityNamespaceLookup; use Wikibase\Repo\Tests\Specials\SpecialNewEntityTest; use Wikibase\Repo\WikibaseRepo; @@ -27,8 +28,10 @@ class SpecialNewLexemeTest extends SpecialNewEntityTest { protected function newSpecialPage() { + $randomInt = 123; return new SpecialNewLexeme( - $this->copyrightView + $this->copyrightView, + new EntityNamespaceLookup( [Lexeme::ENTITY_TYPE => $randomInt] ) ); } -- To view, visit https://gerrit.wikimedia.org/r/342051 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iae5ccee31d194c49e25130d9d448b9f3e0f1c7ee Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikibaseLexeme Gerrit-Branch: master Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <aleksey.bekh-iva...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits