Glaisher has uploaded a new change for review.

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

Change subject: Don't try to validate before form submission on 
Special:UserMerge
......................................................................

Don't try to validate before form submission on Special:UserMerge

Otherwise, Title::newFromText throws out errors.

Bug: T101681
Change-Id: I43ee8b255fa9fa445dc0dd0ed1b81582cca1ce8b
---
M SpecialUserMerge.php
1 file changed, 23 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UserMerge 
refs/changes/46/235446/1

diff --git a/SpecialUserMerge.php b/SpecialUserMerge.php
index 6707fb1..49bf5e8 100644
--- a/SpecialUserMerge.php
+++ b/SpecialUserMerge.php
@@ -62,18 +62,20 @@
         * @return bool|string true if valid, a string of the error's message 
key if validation failed
         */
        public function validateOldUser( $val ) {
-               global $wgUserMergeProtectedGroups;
-               $oldUser = User::newFromName( $val );
-               if ( !$oldUser || $oldUser->getId() === 0 ) {
-                       return 'usermerge-badolduser';
+               // Avoid HTMLForm errors on GET requests
+               if ( $this->getRequest()->wasPosted() ) {
+                       global $wgUserMergeProtectedGroups;
+                       $oldUser = User::newFromName( $val );
+                       if ( !$oldUser || $oldUser->getId() === 0 ) {
+                               return 'usermerge-badolduser';
+                       }
+                       if ( $this->getUser()->getId() === $oldUser->getId() ) {
+                               return array( 'usermerge-noselfdelete', 
$this->getUser()->getName() );
+                       }
+                       if ( count( array_intersect( $oldUser->getGroups(), 
$wgUserMergeProtectedGroups ) ) ) {
+                               return array( 'usermerge-protectedgroup', 
$oldUser->getName() );
+                       }
                }
-               if ( $this->getUser()->getId() === $oldUser->getId() ) {
-                       return array( 'usermerge-noselfdelete', 
$this->getUser()->getName() );
-               }
-               if ( count( array_intersect( $oldUser->getGroups(), 
$wgUserMergeProtectedGroups ) ) ) {
-                       return array( 'usermerge-protectedgroup', 
$oldUser->getName() );
-               }
-
                return true;
        }
 
@@ -82,15 +84,17 @@
         * @return bool|string true if valid, a string of the error's message 
key if validation failed
         */
        public function validateNewUser( $val ) {
-               global $wgUserMergeEnableDelete;
-               if ( $wgUserMergeEnableDelete && $val === 'Anonymous' ) {
-                       return true; // Special case
+               // Avoid HTMLForm errors on GET requests
+               if ( $this->getRequest()->wasPosted() ) {
+                       global $wgUserMergeEnableDelete;
+                       if ( $wgUserMergeEnableDelete && $val === 'Anonymous' ) 
{
+                               return true; // Special case
+                       }
+                       $newUser = User::newFromName( $val );
+                       if ( !$newUser || $newUser->getId() === 0 ) {
+                               return 'usermerge-badnewuser';
+                       }
                }
-               $newUser = User::newFromName( $val );
-               if ( !$newUser || $newUser->getId() === 0 ) {
-                       return 'usermerge-badnewuser';
-               }
-
                return true;
        }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I43ee8b255fa9fa445dc0dd0ed1b81582cca1ce8b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UserMerge
Gerrit-Branch: master
Gerrit-Owner: Glaisher <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to