Gerrit Patch Uploader has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/114974

Change subject: Prevent blocked users from reviewing translations via API
......................................................................

Prevent blocked users from reviewing translations via API

Bug: 61806
Change-Id: Ic20c116fe434f4920a25c560c12ffe33bb3c4a43
---
M api/ApiGroupReview.php
M api/ApiTranslationReview.php
2 files changed, 14 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate 
refs/changes/74/114974/1

diff --git a/api/ApiGroupReview.php b/api/ApiGroupReview.php
index e114181..6eb70c1 100644
--- a/api/ApiGroupReview.php
+++ b/api/ApiGroupReview.php
@@ -35,6 +35,10 @@
                        $this->dieUsage( 'Permission denied', 
'permissiondenied' );
                }
 
+               if ( $user->isBlocked() ) {
+                       $this->dieUsage( 'You have been blocked', 'blocked' );
+               }
+
                $requestParams = $this->extractRequestParams();
 
                $languages = Language::fetchLanguageNames();
@@ -192,7 +196,7 @@
 
        public static function getToken() {
                $user = RequestContext::getMain()->getUser();
-               if ( !$user->isAllowed( self::$right ) ) {
+               if ( !$user->isAllowed( self::$right ) || $user->isBlocked() ) {
                        return false;
                }
 
diff --git a/api/ApiTranslationReview.php b/api/ApiTranslationReview.php
index 0eb55d5..3bfe343 100644
--- a/api/ApiTranslationReview.php
+++ b/api/ApiTranslationReview.php
@@ -36,6 +36,9 @@
                        case 'permissiondenied':
                                $this->dieUsage( 'Permission denied', $error );
                                break; // Unreachable, but throws off code 
analyzer.
+                       case 'blocked':
+                               $this->dieUsage( 'You have been blocked', 
$error );
+                               break; // Unreachable, but throws off code 
analyzer.
                        case 'unknownmessage':
                                $this->dieUsage( 'Unknown message', $error );
                                break; // Unreachable, but throws off code 
analyzer.
@@ -116,6 +119,10 @@
                        return 'permissiondenied';
                }
 
+               if ( $user->isBlocked() ) {
+                       return 'blocked';
+               }
+
                $title = $revision->getTitle();
                $handle = new MessageHandle( $title );
                if ( !$handle->isValid() ) {
@@ -176,6 +183,7 @@
 
                return array_merge( parent::getPossibleErrors(), array(
                        array( 'code' => 'permissiondenied', 'info' => "You 
must have $right right" ),
+                       array( 'code' => 'blocked', 'info' => "You have been 
blocked from editing" ),
                        array( 'code' => 'unknownmessage', 'info' => 'Title $1 
does not belong to a message group' ),
                        array( 'code' => 'fuzzymessage', 'info' => 'Cannot 
review fuzzy translations' ),
                        array( 'code' => 'owntranslation', 'info' => 'Cannot 
review own translations' ),
@@ -195,7 +203,7 @@
 
        public static function getToken() {
                $user = RequestContext::getMain()->getUser();
-               if ( !$user->isAllowed( self::$right ) ) {
+               if ( !$user->isAllowed( self::$right ) || $user->isBlocked() ) {
                        return false;
                }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/114974
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic20c116fe434f4920a25c560c12ffe33bb3c4a43
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Gerrit Patch Uploader <gerritpatchuploa...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to