Fix on user identifer generator (openid)
there was an issue with trailing dots and user name connectors Change-Id: I104230ee14c05c194ba4b431c1b1bf0ae487314d
This commit is contained in:
@@ -90,11 +90,13 @@ final class UserNameGeneratorService implements IUserNameGeneratorService
|
|||||||
{
|
{
|
||||||
$fname = self::normalizeChars(trim($member->FirstName));
|
$fname = self::normalizeChars(trim($member->FirstName));
|
||||||
$lname = self::normalizeChars(trim($member->Surname));
|
$lname = self::normalizeChars(trim($member->Surname));
|
||||||
|
$fname = preg_replace('/[^\d\w_-]+/i', IUserNameGeneratorService::USER_NAME_INVALID_CHAR_REPLACEMENT, $fname);
|
||||||
|
$lname = preg_replace('/[^\d\w_-]+/i', IUserNameGeneratorService::USER_NAME_INVALID_CHAR_REPLACEMENT, $lname);
|
||||||
$user_name = strtolower
|
$user_name = strtolower
|
||||||
(
|
(
|
||||||
preg_replace('/[^\d\w_-]+/i', IUserNameGeneratorService::USER_NAME_INVALID_CHAR_REPLACEMENT, $fname)
|
trim($fname, '.')
|
||||||
. IUserNameGeneratorService::USER_NAME_CHAR_CONNECTOR .
|
. IUserNameGeneratorService::USER_NAME_CHAR_CONNECTOR .
|
||||||
preg_replace('/[^\d\w_-]+/i', IUserNameGeneratorService::USER_NAME_INVALID_CHAR_REPLACEMENT, $lname)
|
trim($lname,'.')
|
||||||
);
|
);
|
||||||
//if all characters were replaced by a connector, then is not a latin character based user name
|
//if all characters were replaced by a connector, then is not a latin character based user name
|
||||||
if(strlen($user_name) === substr_count($user_name, IUserNameGeneratorService::USER_NAME_CHAR_CONNECTOR))
|
if(strlen($user_name) === substr_count($user_name, IUserNameGeneratorService::USER_NAME_CHAR_CONNECTOR))
|
||||||
|
|||||||
@@ -434,6 +434,28 @@ SQL;
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Member::create(
|
||||||
|
array(
|
||||||
|
'ID' => 9,
|
||||||
|
'FirstName' => 'Ian Y.',
|
||||||
|
'Surname' => 'Choi',
|
||||||
|
'Email' => 'ianyrchoi@gmail.com',
|
||||||
|
'Password' => '1qaz2wsx',
|
||||||
|
'PasswordEncryption' => 'none',
|
||||||
|
'Salt' => 'none',
|
||||||
|
'Gender' => 'male',
|
||||||
|
'Address' => 'Av. Siempre Viva 111',
|
||||||
|
'Suburb' => 'Lanus Este',
|
||||||
|
'State' => 'Buenos Aires',
|
||||||
|
'City' => 'Lanus',
|
||||||
|
'Postcode' => '1824',
|
||||||
|
'Country' => 'AR',
|
||||||
|
'Locale' => 'ESP',
|
||||||
|
'Active' => 1,
|
||||||
|
'EmailVerified' => 1,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
DB::table('banned_ips')->delete();
|
DB::table('banned_ips')->delete();
|
||||||
DB::table('user_exceptions_trail')->delete();
|
DB::table('user_exceptions_trail')->delete();
|
||||||
DB::table('server_configuration')->delete();
|
DB::table('server_configuration')->delete();
|
||||||
|
|||||||
@@ -32,11 +32,14 @@ class UserTest extends TestCase
|
|||||||
$member6 = Member::findOrFail(6);
|
$member6 = Member::findOrFail(6);
|
||||||
$member7 = Member::findOrFail(7);
|
$member7 = Member::findOrFail(7);
|
||||||
$member8 = Member::findOrFail(8);
|
$member8 = Member::findOrFail(8);
|
||||||
|
$member9 = Member::findOrFail(9);
|
||||||
$id6 = $generator->generate($member6);
|
$id6 = $generator->generate($member6);
|
||||||
$this->assertTrue( $id6 == 'bharath.kumar.m.r');
|
$this->assertTrue( $id6 == 'bharath.kumar.m.r');
|
||||||
$id7 = $generator->generate($member7);
|
$id7 = $generator->generate($member7);
|
||||||
$this->assertTrue( $id7 == 'yuanying');
|
$this->assertTrue( $id7 == 'yuanying');
|
||||||
$id8 = $generator->generate($member8);
|
$id8 = $generator->generate($member8);
|
||||||
$this->assertTrue( $id8 == 'sebastian.german.marcet.gomez');
|
$this->assertTrue( $id8 == 'sebastian.german.marcet.gomez');
|
||||||
|
$id9 = $generator->generate($member9);
|
||||||
|
$this->assertTrue( $id9 == 'ian.y.choi');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user