src/Controller/User/PasswordResetController.php line 35
<?phpnamespace App\Controller\User;use App\Controller\AppController;use App\Entity\User;use App\Form\User\PasswordRequestResetForm;use App\Form\User\PasswordResetForm;use App\Handler\MessageTrait;use App\Service\User\PasswordResetService;use Symfony\Component\HttpFoundation\RedirectResponse;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;use Twig\Error\LoaderError;use Twig\Error\RuntimeError;use Twig\Error\SyntaxError;/*** Class PasswordResetController* @package App\Controller\User*/class PasswordResetController extends AppController{use AuthTrait;/*** @Route("/reset-lozinke", name="password-request-reset")* @param PasswordResetService $service* @return RedirectResponse|Response* @throws LoaderError* @throws RuntimeError* @throws SyntaxError*/public function requestReset(PasswordResetService $service){// Ako je korisnik logiran, vrati ga na home pageif ($this->isGranted('ROLE_USER')) {return $this->redirectToRoute('home');}$form = $this->createForm(PasswordRequestResetForm::class);$form->handleRequest($this->getRequest());if ($form->isSubmitted() && $form->isValid()) {$mail = $form->getData()['email'];$response = $service->createView($mail);if ($response) {$this->sendCustomMessage(MessageTrait::$success, 'resetLozinke.poslanMail');} else {$this->sendCustomMessage(MessageTrait::$error, 'resetLozinke.neispravanMail');}return $this->redirectToRoute('password-request-reset');}return $this->render('security/password-request-reset.html.twig', ['form' => $form->createView()]);}/*** @Route("/reset-lozinke/{token}", name="password-reset")* @param User $user* @param PasswordResetService $service* @param TokenStorageInterface $tokenStorage* @return RedirectResponse|Response*/public function reset(User $user, PasswordResetService $service, TokenStorageInterface $tokenStorage){if ($this->isGranted('ROLE_USER')) {return $this->redirectToRoute('home');}$form = $this->createForm(PasswordResetForm::class, $user, ['validation_groups' => 'password-reset']);$form->handleRequest($this->getRequest());if ($form->isSubmitted() && $form->isValid()) {$data = $form->getData();$user = $service->reset($data);$this->authenticateUser($user, $tokenStorage);$this->sendCustomMessage(MessageTrait::$success, 'resetLozinke.uspjesnoPromijenjenaLozinka');return $this->redirectToRoute('home');}return $this->render('security/password-reset.html.twig', ['form' => $form->createView()]);}}