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

Reply via email to