From 6aeca3e92368930a43808e9676d6cc2796ffa689 Mon Sep 17 00:00:00 2001 From: Erik Bernhardson Date: Fri, 19 Jun 2015 15:39:48 -0700 Subject: [PATCH] Better error message via api when content model does not allow editing Change-Id: I699b4f5fd2eac8dfc4c54922474f939262bc803d --- includes/api/ApiEditPage.php | 6 +++--- tests/phpunit/includes/api/ApiEditPageTest.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php index e70b8f0289..b623849246 100644 --- a/includes/api/ApiEditPage.php +++ b/includes/api/ApiEditPage.php @@ -96,9 +96,11 @@ class ApiEditPage extends ApiBase { $contentHandler = ContentHandler::getForModelID( $params['contentmodel'] ); } + $name = $titleObj->getPrefixedDBkey(); + $model = $contentHandler->getModelID(); if ( $contentHandler->supportsDirectApiEditing() === false ) { $this->dieUsage( - 'Direct editing via API is not supported for this content type.', + "Direct editing via API is not supported for content model $model used by $name", 'no-direct-editing' ); } @@ -110,8 +112,6 @@ class ApiEditPage extends ApiBase { $contentFormat = $params['contentformat']; if ( !$contentHandler->isSupportedFormat( $contentFormat ) ) { - $name = $titleObj->getPrefixedDBkey(); - $model = $contentHandler->getModelID(); $this->dieUsage( "The requested format $contentFormat is not supported for content model " . " $model used by $name", 'badformat' ); diff --git a/tests/phpunit/includes/api/ApiEditPageTest.php b/tests/phpunit/includes/api/ApiEditPageTest.php index fa528da4cd..e006bf763e 100644 --- a/tests/phpunit/includes/api/ApiEditPageTest.php +++ b/tests/phpunit/includes/api/ApiEditPageTest.php @@ -475,7 +475,7 @@ class ApiEditPageTest extends ApiTestCase { public function testCheckDirectApiEditingDisallowed_forNonTextContent() { $this->setExpectedException( 'UsageException', - 'Direct editing via API is not supported for this content type.' + 'Direct editing via API is not supported for content model testing used by Dummy:ApiEditPageTest_nonTextPageEdit' ); $this->doApiRequestWithToken( array( -- 2.20.1