Aude has uploaded a new change for review.
https://gerrit.wikimedia.org/r/73175
Change subject: editentity aliases only 1 changeop per change type
......................................................................
editentity aliases only 1 changeop per change type
Previously a changeop was created for each alias
given to wbeditentity. As each changeop is a set
each changeop was overwriting the previous changes
Bug: 50983
Change-Id: Iae7d15467c31bbf09f03acd4b069b3a2199a1509
---
M repo/includes/api/EditEntity.php
1 file changed, 11 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/75/73175/1
diff --git a/repo/includes/api/EditEntity.php b/repo/includes/api/EditEntity.php
index 543b042..8425b82 100644
--- a/repo/includes/api/EditEntity.php
+++ b/repo/includes/api/EditEntity.php
@@ -171,7 +171,6 @@
$this->addLabelsToResult( $entity->getLabels(), 'entity' );
$this->addDescriptionsToResult( $entity->getDescriptions(),
'entity' );
$this->addAliasesToResult( $entity->getAllAliases(), 'entity' );
-
// TODO: This is a temporary fix that should be handled
properly with a
// serializer class that is specific for the given entity
if ( $entity->getType() === Item::ENTITY_TYPE ) {
@@ -274,6 +273,8 @@
}
}
+ $aliasesChanges = array();
+
foreach ( $indexedAliases as $langCode => $args ) {
foreach ( $args as $arg ) {
$status->merge( $this->checkMultilangArgs(
$arg, $langCode ) );
@@ -282,17 +283,23 @@
$language = $arg['language'];
if ( array_key_exists( 'remove', $arg ) ) {
- $aliasesChangeOps[] = new
ChangeOpAliases( $language, $alias, 'remove' );
+ $aliasesChanges['remove'][$language][]
= $alias;
}
elseif ( array_key_exists( 'add', $arg ) ) {
- $aliasesChangeOps[] = new
ChangeOpAliases( $language, $alias, 'add' );
+ $aliasesChanges['add'][$language][] =
$alias;
}
else {
- $aliasesChangeOps[] = new
ChangeOpAliases( $language, $alias, 'set' );
+ $aliasesChanges['set'][$language][] =
$alias;
}
}
}
+ foreach ( $aliasesChanges as $opType => $aliasChange ) {
+ foreach ( $aliasChange as $language => $aliasArray ) {
+ $aliasesChangeOps[] = new ChangeOpAliases(
$language, $aliasArray, $opType );
+ }
+ }
+
if ( !$status->isOk() ) {
wfProfileOut( __METHOD__ );
$this->dieUsage( "Contained status: $1",
$status->getWikiText() );
--
To view, visit https://gerrit.wikimedia.org/r/73175
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae7d15467c31bbf09f03acd4b069b3a2199a1509
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: mw1.22-wmf9
Gerrit-Owner: Aude <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits