Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/87669
Change subject: Check permissions in MergeItems..
......................................................................
Check permissions in MergeItems..
Change-Id: I6ed988023fedf872a9620fbed1bee342bd80155c
---
M repo/Wikibase.php
M repo/config/Wikibase.example.php
M repo/includes/api/MergeItems.php
3 files changed, 11 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/69/87669/1
diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index f1932dc..5667e41 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -85,6 +85,7 @@
$wgGroupPermissions['*']['item-override'] = true;
$wgGroupPermissions['*']['item-create'] = true;
$wgGroupPermissions['*']['item-remove'] = true;
+ $wgGroupPermissions['*']['item-merge'] = true;
$wgGroupPermissions['*']['property-override'] = true;
$wgGroupPermissions['*']['property-create'] = true;
$wgGroupPermissions['*']['property-remove'] = true;
diff --git a/repo/config/Wikibase.example.php b/repo/config/Wikibase.example.php
index dae4b53..7d84391 100644
--- a/repo/config/Wikibase.example.php
+++ b/repo/config/Wikibase.example.php
@@ -114,6 +114,7 @@
$wgGroupPermissions['*']['item-override'] = false;
$wgGroupPermissions['*']['item-create'] = false;
$wgGroupPermissions['*']['item-remove'] = false;
+$wgGroupPermissions['*']['item-merge'] = false;
$wgGroupPermissions['*']['property-override'] = false;
$wgGroupPermissions['*']['property-create'] = false;
$wgGroupPermissions['*']['property-remove'] = false;
@@ -130,6 +131,7 @@
$wgGroupPermissions['user']['item-override'] = true;
$wgGroupPermissions['user']['item-create'] = true;
$wgGroupPermissions['user']['item-remove'] = true;
+$wgGroupPermissions['user']['item-merge'] = true;
$wgGroupPermissions['user']['property-override'] = true;
$wgGroupPermissions['user']['property-create'] = true;
$wgGroupPermissions['user']['property-remove'] = true;
diff --git a/repo/includes/api/MergeItems.php b/repo/includes/api/MergeItems.php
index 1756d24..a3d2325 100644
--- a/repo/includes/api/MergeItems.php
+++ b/repo/includes/api/MergeItems.php
@@ -45,7 +45,7 @@
* @see \ApiBase::execute()
*/
public function execute() {
- $this->getUser();
+ $user = $this->getUser();
$params = $this->extractRequestParams();
$this->validateParams( $params );
@@ -53,6 +53,13 @@
$toEntityContent = $this->getEntityContentFromIdString(
$params['toid'] );
$this->validateEntityContents( $fromEntityContent,
$toEntityContent );
+ $status = Status::newGood();
+ $status->merge( $this->checkPermissions( $fromEntityContent,
$user, $params ) );
+ $status->merge( $this->checkPermissions( $toEntityContent,
$user, $params ) );
+ if( !$status->isGood() ){
+ $this->dieUsage( $status->getMessage(), 'failed-save');
+ }
+
/**
* @var ItemContent $fromEntityContent
* @var ItemContent $toEntityContent
--
To view, visit https://gerrit.wikimedia.org/r/87669
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6ed988023fedf872a9620fbed1bee342bd80155c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits