Skip to content

Commit dc23343

Browse files
committed
add use statement for password encoder || hasher
1 parent 56f7fd8 commit dc23343

File tree

3 files changed

+31
-19
lines changed

3 files changed

+31
-19
lines changed

src/Generator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ public function generateTemplate(string $targetPath, string $templateName, array
247247

248248
public static function getControllerBaseClass(): ClassNameDetails
249249
{
250-
// Support for Controller::class can be dropped when FrameworkBundle minimum supported version is >=4.1
250+
// @legacy Support for Controller::class can be dropped when FrameworkBundle minimum supported version is >=4.1
251251
$class = method_exists(AbstractController::class, 'getParameter') ? AbstractController::class : Controller::class;
252252

253253
return new ClassNameDetails($class, '\\');

src/Maker/MakeResetPassword.php

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
use Doctrine\Common\Annotations\Annotation;
1515
use PhpParser\Builder\Param;
16+
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
1617
use Symfony\Bundle\MakerBundle\ConsoleStyle;
1718
use Symfony\Bundle\MakerBundle\DependencyBuilder;
1819
use Symfony\Bundle\MakerBundle\Doctrine\DoctrineHelper;
@@ -26,19 +27,28 @@
2627
use Symfony\Bundle\MakerBundle\Security\InteractiveSecurityHelper;
2728
use Symfony\Bundle\MakerBundle\Util\ClassNameDetails;
2829
use Symfony\Bundle\MakerBundle\Util\ClassSourceManipulator;
30+
use Symfony\Bundle\MakerBundle\Util\TemplateComponentGenerator;
2931
use Symfony\Bundle\MakerBundle\Util\YamlSourceManipulator;
3032
use Symfony\Bundle\MakerBundle\Validator;
3133
use Symfony\Component\Console\Command\Command;
3234
use Symfony\Component\Console\Input\InputInterface;
35+
use Symfony\Component\HttpFoundation\RedirectResponse;
36+
use Symfony\Component\HttpFoundation\Request;
37+
use Symfony\Component\HttpFoundation\Response;
3338
use Symfony\Component\Mailer\MailerInterface;
39+
use Symfony\Component\Mime\Address;
3440
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
41+
use Symfony\Component\Routing\Annotation\Route;
3542
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
3643
use Symfony\Component\Yaml\Yaml;
44+
use SymfonyCasts\Bundle\ResetPassword\Controller\ResetPasswordControllerTrait;
45+
use SymfonyCasts\Bundle\ResetPassword\Exception\ResetPasswordExceptionInterface;
3746
use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestInterface;
3847
use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestTrait;
3948
use SymfonyCasts\Bundle\ResetPassword\Persistence\Repository\ResetPasswordRequestRepositoryTrait;
4049
use SymfonyCasts\Bundle\ResetPassword\Persistence\ResetPasswordRequestRepositoryInterface;
4150
use SymfonyCasts\Bundle\ResetPassword\ResetPasswordHelper;
51+
use SymfonyCasts\Bundle\ResetPassword\ResetPasswordHelperInterface;
4252
use SymfonyCasts\Bundle\ResetPassword\SymfonyCastsResetPasswordBundle;
4353

4454
/**
@@ -198,15 +208,31 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
198208
$passwordHasher = UserPasswordHasherInterface::class;
199209
}
200210

211+
$useStatements = [
212+
Generator::getControllerBaseClass()->getFullName(), // @legacy see getControllerBaseClass comment
213+
$userClassNameDetails->getFullName(),
214+
$changePasswordFormTypeClassNameDetails->getFullName(),
215+
$requestFormTypeClassNameDetails->getFullName(),
216+
TemplatedEmail::class,
217+
RedirectResponse::class,
218+
Request::class,
219+
Response::class,
220+
MailerInterface::class,
221+
Address::class,
222+
Route::class,
223+
ResetPasswordControllerTrait::class,
224+
ResetPasswordExceptionInterface::class,
225+
ResetPasswordHelperInterface::class,
226+
$passwordHasher,
227+
];
228+
201229
$generator->generateController(
202230
$controllerClassNameDetails->getFullName(),
203231
'resetPassword/ResetPasswordController.tpl.php',
204232
[
205-
'user_full_class_name' => $userClassNameDetails->getFullName(),
233+
'use_statements' => TemplateComponentGenerator::generateUseStatements($useStatements),
206234
'user_class_name' => $userClassNameDetails->getShortName(),
207-
'request_form_type_full_class_name' => $requestFormTypeClassNameDetails->getFullName(),
208235
'request_form_type_class_name' => $requestFormTypeClassNameDetails->getShortName(),
209-
'reset_form_type_full_class_name' => $changePasswordFormTypeClassNameDetails->getFullName(),
210236
'reset_form_type_class_name' => $changePasswordFormTypeClassNameDetails->getShortName(),
211237
'password_setter' => $this->passwordSetterMethodName,
212238
'success_redirect_route' => $this->controllerResetSuccessRedirect,

src/Resources/skeleton/resetPassword/ResetPasswordController.tpl.php

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,7 @@
22

33
namespace <?= $namespace ?>;
44

5-
use <?= $user_full_class_name ?>;
6-
use <?= $reset_form_type_full_class_name ?>;
7-
use <?= $request_form_type_full_class_name ?>;
8-
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
9-
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
10-
use Symfony\Component\HttpFoundation\RedirectResponse;
11-
use Symfony\Component\HttpFoundation\Request;
12-
use Symfony\Component\HttpFoundation\Response;
13-
use Symfony\Component\Mailer\MailerInterface;
14-
use Symfony\Component\Mime\Address;
15-
use Symfony\Component\Routing\Annotation\Route;
16-
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
17-
use SymfonyCasts\Bundle\ResetPassword\Controller\ResetPasswordControllerTrait;
18-
use SymfonyCasts\Bundle\ResetPassword\Exception\ResetPasswordExceptionInterface;
19-
use SymfonyCasts\Bundle\ResetPassword\ResetPasswordHelperInterface;
5+
<?= $use_statements; ?>
206

217
<?php if ($use_attributes) { ?>
228
#[Route('/reset-password')]

0 commit comments

Comments
 (0)