|
13 | 13 |
|
14 | 14 | use Doctrine\Common\Annotations\Annotation;
|
15 | 15 | use PhpParser\Builder\Param;
|
| 16 | +use Symfony\Bridge\Twig\Mime\TemplatedEmail; |
16 | 17 | use Symfony\Bundle\MakerBundle\ConsoleStyle;
|
17 | 18 | use Symfony\Bundle\MakerBundle\DependencyBuilder;
|
18 | 19 | use Symfony\Bundle\MakerBundle\Doctrine\DoctrineHelper;
|
|
26 | 27 | use Symfony\Bundle\MakerBundle\Security\InteractiveSecurityHelper;
|
27 | 28 | use Symfony\Bundle\MakerBundle\Util\ClassNameDetails;
|
28 | 29 | use Symfony\Bundle\MakerBundle\Util\ClassSourceManipulator;
|
| 30 | +use Symfony\Bundle\MakerBundle\Util\TemplateComponentGenerator; |
29 | 31 | use Symfony\Bundle\MakerBundle\Util\YamlSourceManipulator;
|
30 | 32 | use Symfony\Bundle\MakerBundle\Validator;
|
31 | 33 | use Symfony\Component\Console\Command\Command;
|
32 | 34 | use Symfony\Component\Console\Input\InputInterface;
|
| 35 | +use Symfony\Component\HttpFoundation\RedirectResponse; |
| 36 | +use Symfony\Component\HttpFoundation\Request; |
| 37 | +use Symfony\Component\HttpFoundation\Response; |
33 | 38 | use Symfony\Component\Mailer\MailerInterface;
|
| 39 | +use Symfony\Component\Mime\Address; |
34 | 40 | use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
|
| 41 | +use Symfony\Component\Routing\Annotation\Route; |
35 | 42 | use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
|
36 | 43 | use Symfony\Component\Yaml\Yaml;
|
| 44 | +use SymfonyCasts\Bundle\ResetPassword\Controller\ResetPasswordControllerTrait; |
| 45 | +use SymfonyCasts\Bundle\ResetPassword\Exception\ResetPasswordExceptionInterface; |
37 | 46 | use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestInterface;
|
38 | 47 | use SymfonyCasts\Bundle\ResetPassword\Model\ResetPasswordRequestTrait;
|
39 | 48 | use SymfonyCasts\Bundle\ResetPassword\Persistence\Repository\ResetPasswordRequestRepositoryTrait;
|
40 | 49 | use SymfonyCasts\Bundle\ResetPassword\Persistence\ResetPasswordRequestRepositoryInterface;
|
41 | 50 | use SymfonyCasts\Bundle\ResetPassword\ResetPasswordHelper;
|
| 51 | +use SymfonyCasts\Bundle\ResetPassword\ResetPasswordHelperInterface; |
42 | 52 | use SymfonyCasts\Bundle\ResetPassword\SymfonyCastsResetPasswordBundle;
|
43 | 53 |
|
44 | 54 | /**
|
@@ -198,15 +208,31 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
|
198 | 208 | $passwordHasher = UserPasswordHasherInterface::class;
|
199 | 209 | }
|
200 | 210 |
|
| 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 | + |
201 | 229 | $generator->generateController(
|
202 | 230 | $controllerClassNameDetails->getFullName(),
|
203 | 231 | 'resetPassword/ResetPasswordController.tpl.php',
|
204 | 232 | [
|
205 |
| - 'user_full_class_name' => $userClassNameDetails->getFullName(), |
| 233 | + 'use_statements' => TemplateComponentGenerator::generateUseStatements($useStatements), |
206 | 234 | 'user_class_name' => $userClassNameDetails->getShortName(),
|
207 |
| - 'request_form_type_full_class_name' => $requestFormTypeClassNameDetails->getFullName(), |
208 | 235 | 'request_form_type_class_name' => $requestFormTypeClassNameDetails->getShortName(),
|
209 |
| - 'reset_form_type_full_class_name' => $changePasswordFormTypeClassNameDetails->getFullName(), |
210 | 236 | 'reset_form_type_class_name' => $changePasswordFormTypeClassNameDetails->getShortName(),
|
211 | 237 | 'password_setter' => $this->passwordSetterMethodName,
|
212 | 238 | 'success_redirect_route' => $this->controllerResetSuccessRedirect,
|
|
0 commit comments