X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.special.userlogin.signup.js;h=fff2d4e61a32c2367f55c33cda167f1e56775744;hb=fa0fe8d2940b71950f82f2303acd3a3717b51389;hp=777f5e9dcf640381d014b24b723c9b4d61a091fa;hpb=74d04edec385aa86ee01943b9a27475d79f74e78;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.special.userlogin.signup.js b/resources/src/mediawiki.special.userlogin.signup.js index 777f5e9dcf..fff2d4e61a 100644 --- a/resources/src/mediawiki.special.userlogin.signup.js +++ b/resources/src/mediawiki.special.userlogin.signup.js @@ -30,7 +30,7 @@ updateForCheckbox(); } ); - // Check if the username is invalid or already taken + // Check if the username is invalid or already taken; show username normalisation warning mw.hook( 'htmlform.enhance' ).add( function ( $root ) { var $usernameInput = $root.find( '#wpName2' ), $passwordInput = $root.find( '#wpPassword2' ), @@ -43,6 +43,10 @@ // We could just use .then() if we didn't have to pass on .abort()… var d, apiPromise; + // Leading/trailing/multiple whitespace characters are always stripped in usernames, + // this should not require a warning. We do warn about underscores. + username = username.replace( / +/g, ' ' ).trim(); + d = $.Deferred(); apiPromise = api.get( { action: 'query', @@ -68,6 +72,10 @@ return m.html; } ) : [] } ); + } else if ( userinfo.name !== username ) { + d.resolve( { valid: true, messages: [ + mw.message( 'createacct-normalization', username, userinfo.name ).parseDom() + ] } ); } else { d.resolve( { valid: true, messages: [] } ); }