Skip to content

Commit 89f8502

Browse files
committed
Fixing bug where non-traditional User class broke in make:user
1 parent 14d2946 commit 89f8502

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

src/Maker/MakeUser.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,10 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
159159
$userClassConfiguration->setUserProviderClass('App\\Security\\UserProvider');
160160
$customProviderPath = $generator->generateClass(
161161
$userClassConfiguration->getUserProviderClass(),
162-
'security/UserProvider.tpl.php'
162+
'security/UserProvider.tpl.php',
163+
[
164+
'user_short_name' => $userClassNameDetails->getShortName(),
165+
]
163166
);
164167
}
165168

src/Resources/skeleton/security/UserProvider.tpl.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ public function loadUserByUsername($username)
4242
*/
4343
public function refreshUser(UserInterface $user)
4444
{
45-
if (!$user instanceof User) {
45+
if (!$user instanceof <?= $user_short_name ?>) {
4646
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
4747
}
4848

49-
/* @var User $user */
49+
/* @var <?= $user_short_name ?> $user */
5050

5151
// Return a User object after making sure its data is "fresh".
5252
// Or throw a UsernameNotFoundException if the user no longer exists.
@@ -58,6 +58,6 @@ public function refreshUser(UserInterface $user)
5858
*/
5959
public function supportsClass($class)
6060
{
61-
return User::class === $class;
61+
return <?= $user_short_name ?>::class === $class;
6262
}
6363
}

tests/Maker/FunctionalTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -544,8 +544,8 @@ function (string $output, string $directory) {
544544
yield 'user_security_model_no_password' => [MakerTestDetails::createTest(
545545
$this->getMakerInstance(MakeUser::class),
546546
[
547-
// user class name
548-
'User',
547+
// user class name (with non-traditional name)
548+
'FunUser',
549549
'n', // entity
550550
'username', // identity property
551551
'n', // login with password?

tests/fixtures/MakeUserModelNoPassword/src/Security/AutomaticAuthenticator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public function getCredentials(Request $request)
3232

3333
public function getUser($credentials, UserProviderInterface $userProvider)
3434
{
35-
$user = new User();
35+
$user = new FunUser();
3636
$user->setUsername($credentials);
3737

3838
return $user;

0 commit comments

Comments
 (0)