52
52
use Symfony \Component \HttpFoundation \Response ;
53
53
use Symfony \Component \Mailer \MailerInterface ;
54
54
use Symfony \Component \Mime \Address ;
55
- use Symfony \Component \PasswordHasher \Hasher \UserPasswordHasherInterface ;
56
55
use Symfony \Component \Routing \Attribute \Route ;
57
56
use Symfony \Component \Routing \RouterInterface ;
58
57
use Symfony \Component \Security \Core \User \UserInterface ;
@@ -291,7 +290,8 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
291
290
$ formClassDetails = $ this ->generateFormClass (
292
291
$ userClassNameDetails ,
293
292
$ generator ,
294
- $ usernameField
293
+ $ usernameField ,
294
+ $ this ->passwordField
295
295
);
296
296
297
297
// 2) Generate the controller
@@ -307,7 +307,6 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
307
307
Request::class,
308
308
Response::class,
309
309
Route::class,
310
- UserPasswordHasherInterface::class,
311
310
EntityManagerInterface::class,
312
311
]);
313
312
@@ -355,7 +354,6 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
355
354
'route_name ' => 'app_register ' ,
356
355
'form_class_name ' => $ formClassDetails ->getShortName (),
357
356
'user_class_name ' => $ userClassNameDetails ->getShortName (),
358
- 'password_field ' => $ this ->passwordField ,
359
357
'redirect_route_name ' => $ this ->redirectRouteName ?? null ,
360
358
'translator_available ' => $ isTranslatorAvailable ,
361
359
],
@@ -545,7 +543,7 @@ public function configureDependencies(DependencyBuilder $dependencies): void
545
543
);
546
544
}
547
545
548
- private function generateFormClass (ClassNameDetails $ userClassDetails , Generator $ generator , string $ usernameField ): ClassNameDetails
546
+ private function generateFormClass (ClassNameDetails $ userClassDetails , Generator $ generator , string $ usernameField, string $ passwordField ): ClassNameDetails
549
547
{
550
548
$ formClassDetails = $ generator ->createClassNameDetails (
551
549
'RegistrationFormType ' ,
@@ -568,9 +566,8 @@ private function generateFormClass(ClassNameDetails $userClassDetails, Generator
568
566
'plainPassword ' => [
569
567
'type ' => PasswordType::class,
570
568
'options_code ' => <<<EOF
571
- // instead of being set onto the object directly,
572
- // this is read and encoded in the controller
573
569
'mapped' => false,
570
+ 'hash_property_path' => ' $ passwordField',
574
571
'attr' => ['autocomplete' => 'new-password'],
575
572
'constraints' => [
576
573
new NotBlank([
0 commit comments