jenkins-bot has submitted this change and it was merged.
Change subject: fixed error message in Special:SetSiteLink
......................................................................
fixed error message in Special:SetSiteLink
Change-Id: I32088d940effa47d863efc1b5e47e241f6e6e304
---
M repo/includes/content/ItemContent.php
M repo/includes/specials/SpecialModifyEntity.php
M repo/includes/specials/SpecialSetSiteLink.php
3 files changed, 29 insertions(+), 24 deletions(-)
Approvals:
Hoo man: Looks good to me, approved
jenkins-bot: Verified
diff --git a/repo/includes/content/ItemContent.php
b/repo/includes/content/ItemContent.php
index 8517337..543744e 100644
--- a/repo/includes/content/ItemContent.php
+++ b/repo/includes/content/ItemContent.php
@@ -177,11 +177,11 @@
$site = $siteSqlStore->getSite( $conflict['siteId'] );
$pageUrl = $site->getPageUrl( $conflict['sitePage'] );
- $msg = new \Message( 'wikibase-error-sitelink-already-used' );
- $msg->rawParams( $pageUrl );
- $msg->params( array( $conflict['sitePage'],
$conflictingPage->getTitle()->getFullText() ) );
-
- return $msg;
+ // $pageUrl shouldn't be a raw param (it's causing the link not
to be parsed)
+ return new \Message(
+ 'wikibase-error-sitelink-already-used',
+ array( $pageUrl, $conflict['sitePage'],
$conflictingPage->getTitle()->getFullText() )
+ );
}
/**
diff --git a/repo/includes/specials/SpecialModifyEntity.php
b/repo/includes/specials/SpecialModifyEntity.php
index 7a5ab40..3c1992d 100644
--- a/repo/includes/specials/SpecialModifyEntity.php
+++ b/repo/includes/specials/SpecialModifyEntity.php
@@ -81,7 +81,7 @@
$this->setForm();
}
else {
- //TODO: need conflict detection??
+ // TODO: need conflict detection??
$editEntity = new \Wikibase\EditEntity(
$this->entityContent, $this->getUser(), false, $this->getContext() );
$editEntity->attemptSave(
$summary,
@@ -89,8 +89,10 @@
$this->getRequest()->getVal( 'wpEditToken' )
);
- if ( !$editEntity->isSuccess() ) {
- $editEntity->showErrorPage();
+ if ( !$editEntity->isSuccess() &&
$editEntity->getStatus()->getErrorsArray() ) {
+ $errors =
$editEntity->getStatus()->getErrorsArray();
+ $this->showErrorHTML( $errors[0]->parse() );
+ $this->setForm();
}
else {
$entityUrl =
$this->entityContent->getTitle()->getFullUrl();
diff --git a/repo/includes/specials/SpecialSetSiteLink.php
b/repo/includes/specials/SpecialSetSiteLink.php
index 48168be..0e6638b 100644
--- a/repo/includes/specials/SpecialSetSiteLink.php
+++ b/repo/includes/specials/SpecialSetSiteLink.php
@@ -253,37 +253,40 @@
* @return Status
*/
protected function setSiteLink( $entityContent, $siteId, $pageName,
&$summary ) {
- $site = \Sites::singleton()->getSite( $siteId );
$status = \Status::newGood();
+ $site = \Sites::singleton()->getSite( $siteId );
if ( $site === null ) {
- $status->error( 'wikibase-setsitelink-invalid-site',
$siteId );
+ $status->fatal( 'wikibase-setsitelink-invalid-site',
$siteId );
return $status;
}
- if ( $pageName !== '' ) {
- // Don't try to normalize an empty string (which means:
remove the link)
- $pageName = $site->normalizePageName( $pageName );
+ /**
+ * @var Item $item
+ */
+ $item = $entityContent->getItem();
- if ( $pageName === false ) {
- $status->error(
'wikibase-error-ui-no-external-page' );
- return $status;
- }
- }
-
+ // Empty page means remove site link
if ( $pageName === '' ) {
try {
- $link =
$entityContent->getItem()->getSimpleSiteLink( $siteId );
- } catch( \OutOfBoundsException $e ) {
- $status->error(
'wikibase-setsitelink-remove-failed' );
+ $item->getSimpleSiteLink( $siteId );
+ }
+ catch( \OutOfBoundsException $ex ) {
+ $status->fatal(
'wikibase-setsitelink-remove-failed' );
return $status;
}
- $entityContent->getItem()->removeSiteLink( $siteId );
+ $item->removeSiteLink( $siteId );
$i18n = 'wbsetsitelink-remove';
}
else {
+ // Try to normalize the page name
+ $pageName = $site->normalizePageName( $pageName );
+ if ( $pageName === false ) {
+ $status->fatal(
'wikibase-error-ui-no-external-page' );
+ return $status;
+ }
$siteLink = new SimpleSiteLink( $siteId, $pageName );
- $entityContent->getItem()->addSimpleSiteLink( $siteLink
);
+ $item->addSimpleSiteLink( $siteLink );
$i18n = 'wbsetsitelink-set';
}
--
To view, visit https://gerrit.wikimedia.org/r/68043
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I32088d940effa47d863efc1b5e47e241f6e6e304
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Hoo man <[email protected]>
Gerrit-Reviewer: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits