Aude has uploaded a new change for review.
https://gerrit.wikimedia.org/r/80068
Change subject: (bug 50933) pass bot flag to claim saver in wbsetclaim
......................................................................
(bug 50933) pass bot flag to claim saver in wbsetclaim
Change-Id: I4dd3a146d11ff378a0bf96b4ac56c7212a5120bf
---
M repo/includes/ClaimSaver.php
M repo/includes/api/SetClaim.php
2 files changed, 19 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/68/80068/1
diff --git a/repo/includes/ClaimSaver.php b/repo/includes/ClaimSaver.php
index a3cabc4..9d7e469 100644
--- a/repo/includes/ClaimSaver.php
+++ b/repo/includes/ClaimSaver.php
@@ -50,6 +50,7 @@
* @param string $token
* @param User $user
* @param ClaimSummaryBuilder|null $claimSummaryBuilder
+ * @param int $flags
*
* @return Status The status. The status value is an array which may
contain
* the following fields:
@@ -60,7 +61,9 @@
*
* This status object can be used with
ApiWikibase::handleSaveStatus().
*/
- public function saveClaim( Claim $claim, $baseRevId, $token, User
$user, ClaimSummaryBuilder $claimSummaryBuilder = null ) {
+ public function saveClaim( Claim $claim, $baseRevId, $token, User $user,
+ ClaimSummaryBuilder $claimSummaryBuilder = null, $flags = 0 ) {
+
try {
$entityId = $this->getEntityIdForClaim( $claim );
@@ -77,7 +80,7 @@
$this->updateClaim( $content->getEntity(), $claim );
- $status = $this->saveChanges( $content, $baseRevId,
$token, $user, $summary );
+ $status = $this->saveChanges( $content, $baseRevId,
$token, $user, $summary, $flags );
} catch ( ExceptionWithCode $ex ) {
// put the error code into the status
$value = array( 'errorCode' => $ex->getErrorCode() );
@@ -179,16 +182,21 @@
* @param string $token
* @param User $user
* @param Summary|null $summary
+ * @param int $flags
*
* @return Status
*/
- protected function saveChanges( EntityContent $content,
$baseRevisionId, $token, User $user, Summary $summary ) {
+ protected function saveChanges( EntityContent $content,
$baseRevisionId, $token, User $user,
+ Summary $summary, $flags ) {
+
$baseRevisionId = is_int( $baseRevisionId ) && $baseRevisionId
> 0 ? $baseRevisionId : false;
$editEntity = new \Wikibase\EditEntity( $content, $user,
$baseRevisionId );
+ $flags = $flags !== 0 ? $flags | EDIT_UPDATE : EDIT_UPDATE;
+
$status = $editEntity->attemptSave(
$summary !== null ? $summary->toString() : '',
- EDIT_UPDATE,
+ $flags,
$token
);
diff --git a/repo/includes/api/SetClaim.php b/repo/includes/api/SetClaim.php
index 867b278..faf4b9f 100644
--- a/repo/includes/api/SetClaim.php
+++ b/repo/includes/api/SetClaim.php
@@ -94,8 +94,12 @@
$claimSaver = new ClaimSaver();
$params = $this->extractRequestParams();
+
$baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
$token = isset( $params['token'] ) ? $params['token'] : '';
+
+ $user = $this->getUser();
+ $flags = ( $user->isAllowed( 'bot' ) && $params['bot'] ) ?
EDIT_FORCE_BOT : 0;
$newRevisionId = null;
@@ -103,8 +107,9 @@
$claim,
$baseRevisionId,
$token,
- $this->getUser(),
- $claimSummaryBuilder
+ $user,
+ $claimSummaryBuilder,
+ $flags
);
$this->handleSaveStatus( $status ); // die on error, report
warnings, etc
--
To view, visit https://gerrit.wikimedia.org/r/80068
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4dd3a146d11ff378a0bf96b4ac56c7212a5120bf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aude <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits