Bene has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/270289

Change subject: Add missing api error messages
......................................................................

Add missing api error messages

This adds missing api error messages to the api modules and the json
files.

Also fixed a typo in the messages file.

Change-Id: I0b15385faf4062ffef2dc1037bc6033401babe20
---
M repo/i18n/en.json
M repo/i18n/qqq.json
M repo/includes/api/EditEntity.php
M repo/includes/api/SetAliases.php
M repo/includes/api/SetDescription.php
M repo/includes/api/SetLabel.php
6 files changed, 21 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/89/270289/1

diff --git a/repo/i18n/en.json b/repo/i18n/en.json
index e630e69..5f783e8 100644
--- a/repo/i18n/en.json
+++ b/repo/i18n/en.json
@@ -309,7 +309,7 @@
        "wikibase-api-invalid-list": "Invalid list",
        "wikibase-api-invalid-property-id": "Invalid property id",
        "wikibase-api-invalid-entity-id": "Invalid entity id",
-       "wikibase-api-no-common-iten": "There is no common item",
+       "wikibase-api-no-common-item": "There is no common item",
        "wikibase-api-no-data": "No data to operate on",
        "wikibase-api-no-external-page": "The external client site '$1' did not 
provide page information for page '$2'.",
        "wikibase-api-nosuchrevid": "Revision with id not found",
@@ -321,6 +321,7 @@
        "wikibase-api-no-such-site": "Could not find such a site",
        "wikibase-api-no-such-sitelink": "Could not find a sitelink to '$1' 
when trying to edit badges.",
        "wikibase-api-no-such-statement": "Could not find such a statement",
+       "wikibase-api-not-supported": "The requested feature is not supported 
by the given entity.",
        "wikibase-api-not-statement": "Not a statement",
        "wikibase-api-not-item": "Not an item",
        "wikibase-api-not-recognized-siteid": "The supplied site identifier was 
not recognized",
diff --git a/repo/i18n/qqq.json b/repo/i18n/qqq.json
index 4bb0da2..f2cb76d 100644
--- a/repo/i18n/qqq.json
+++ b/repo/i18n/qqq.json
@@ -340,7 +340,7 @@
        "wikibase-api-invalid-list": "!!DO NOT TRANSLATE!! Invalid list or data 
has been provided. This can occour when a list conflicts with itself (the list 
contains something to modify, but also to remove this item)",
        "wikibase-api-invalid-property-id": "!!DO NOT TRANSLATE!! Invalid 
propertyid has been supplied",
        "wikibase-api-invalid-entity-id": "!!DO NOT TRANSLATE!! Invalid 
entityid has been supplied",
-       "wikibase-api-no-common-iten": "!!DO NOT TRANSLATE!! There is no common 
item between to passed parameters when there should be",
+       "wikibase-api-no-common-item": "!!DO NOT TRANSLATE!! There is no common 
item between to passed parameters when there should be",
        "wikibase-api-no-data": "!!DO NOT TRANSLATE!! This is an error message 
for a situation where the \"data\" argument to the API is lacking content. 
Usually this should never be shown to the user, unless there are some 
exceptional error condition. This message should probably not exist in the 
final version.",
        "wikibase-api-no-external-page": "This is an error message where the 
external client did reply, but either because of a faulty reply or because the 
page title could not be unwound, it was not possible to identify an external 
page.\n* $1 - the site id\n* $2 - the page id",
        "wikibase-api-nosuchrevid": "!!DO NOT TRANSLATE!! Page or entity with 
this revision id could not be found in the database",
@@ -352,6 +352,7 @@
        "wikibase-api-no-such-site": "!!DO NOT TRANSLATE!! Could not find such 
a site, this could be to the user entering the wrong data",
        "wikibase-api-no-such-sitelink": "Could not find such a sitelink, this 
could be to the user entering the wrong data\n* $1 - the site id",
        "wikibase-api-no-such-statement": "!!DO NOT TRANSLATE!! Could not find 
such a statement, this could be to the user entering the wrong data",
+       "wikibase-api-not-supported": "!!DO NOT TRANSLATE!! The given entity 
does not support the operation provided by the requested api module.",
        "wikibase-api-not-statement": "!!DO NOT TRANSLATE!! The passed 
parameter is Not a statement when a statement is expected",
        "wikibase-api-not-item": "!!DO NOT TRANSLATE!! The passed parameter is 
Not an item when an item is expected (the passed parameter may infact be a 
property)",
        "wikibase-api-not-recognized-siteid": "!!DO NOT TRANSLATE!! The 
supplied site identifier was not recognized",
diff --git a/repo/includes/api/EditEntity.php b/repo/includes/api/EditEntity.php
index 48e9966..7d68fff 100644
--- a/repo/includes/api/EditEntity.php
+++ b/repo/includes/api/EditEntity.php
@@ -22,7 +22,9 @@
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\Property;
 use Wikibase\DataModel\Statement\Statement;
+use Wikibase\DataModel\Statement\StatementListHolder;
 use Wikibase\DataModel\Statement\StatementListProvider;
+use Wikibase\DataModel\Term\FingerprintHolder;
 use Wikibase\DataModel\Term\FingerprintProvider;
 use Wikibase\EntityFactory;
 use Wikibase\Lib\ContentLanguages;
@@ -313,16 +315,25 @@
                //       for more efficient validation!
 
                if ( array_key_exists( 'labels', $data ) ) {
+                       if ( !( $entity instanceof FingerprintHolder ) ) {
+                               $this->errorReporter->dieError( 'The given 
entity does not contain labels', 'not-recognized' );
+                       }
                        $this->assertArray( $data['labels'], 'List of labels 
must be an array' );
                        $changeOps->add( $this->getLabelChangeOps( 
$data['labels'] ) );
                }
 
                if ( array_key_exists( 'descriptions', $data ) ) {
+                       if ( !( $entity instanceof FingerprintHolder ) ) {
+                               $this->errorReporter->dieError( 'The given 
entity does not contain descriptions', 'not-recognized' );
+                       }
                        $this->assertArray( $data['descriptions'], 'List of 
descriptions must be an array' );
                        $changeOps->add( $this->getDescriptionChangeOps( 
$data['descriptions'] ) );
                }
 
                if ( array_key_exists( 'aliases', $data ) ) {
+                       if ( !( $entity instanceof FingerprintHolder ) ) {
+                               $this->errorReporter->dieError( 'The given 
entity does not contain aliases', 'not-recognized' );
+                       }
                        $this->assertArray( $data['aliases'], 'List of aliases 
must be an array' );
                        $changeOps->add( $this->getAliasesChangeOps( 
$data['aliases'] ) );
                }
@@ -336,6 +347,9 @@
                }
 
                if ( array_key_exists( 'claims', $data ) ) {
+                       if ( !( $entity instanceof StatementListHolder ) ) {
+                               $this->errorReporter->dieError( 'The given 
entity does not contain statements', 'not-recognized' );
+                       }
                        $this->assertArray( $data['claims'], 'List of claims 
must be an array' );
                        $changeOps->add( $this->getClaimsChangeOps( 
$data['claims'] ) );
                }
diff --git a/repo/includes/api/SetAliases.php b/repo/includes/api/SetAliases.php
index 5c29c4d..83a5f18 100644
--- a/repo/includes/api/SetAliases.php
+++ b/repo/includes/api/SetAliases.php
@@ -103,7 +103,7 @@
         */
        protected function modifyEntity( EntityDocument &$entity, array 
$params, $baseRevId ) {
                if ( !( $entity instanceof FingerprintProvider ) ) {
-                       $this->errorReporter->dieError( 'The given entity does 
not contain aliases', 'no-aliases' );
+                       $this->errorReporter->dieError( 'The given entity does 
not contain aliases', 'not-supported' );
                }
 
                $summary = $this->createSummary( $params );
diff --git a/repo/includes/api/SetDescription.php 
b/repo/includes/api/SetDescription.php
index c64f33c..5e8a966 100644
--- a/repo/includes/api/SetDescription.php
+++ b/repo/includes/api/SetDescription.php
@@ -54,7 +54,7 @@
         */
        protected function modifyEntity( EntityDocument &$entity, array 
$params, $baseRevId ) {
                if ( !( $entity instanceof FingerprintProvider ) ) {
-                       $this->errorReporter->dieError( 'The given entity does 
not contain descriptions', 'no-descriptions' );
+                       $this->errorReporter->dieError( 'The given entity does 
not contain descriptions', 'not-supported' );
                }
 
                $summary = $this->createSummary( $params );
diff --git a/repo/includes/api/SetLabel.php b/repo/includes/api/SetLabel.php
index 6ac651d..6c8af90 100644
--- a/repo/includes/api/SetLabel.php
+++ b/repo/includes/api/SetLabel.php
@@ -54,7 +54,7 @@
         */
        protected function modifyEntity( EntityDocument &$entity, array 
$params, $baseRevId ) {
                if ( !( $entity instanceof FingerprintProvider ) ) {
-                       $this->errorReporter->dieError( 'The given entity does 
not contain labels', 'no-labels' );
+                       $this->errorReporter->dieError( 'The given entity does 
not contain labels', 'not-supported' );
                }
 
                $summary = $this->createSummary( $params );

-- 
To view, visit https://gerrit.wikimedia.org/r/270289
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b15385faf4062ffef2dc1037bc6033401babe20
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <benestar.wikime...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to