createFormBuilder(null, [ 'action' => $this->generateUrl('app_reset_password'), ]) ->add('email', EmailType::class, [ 'label' => 'E-Mail', 'constraints' => [ new NotBlank([ 'message' => 'Bitte angeben', ]), new Email([ 'mode' => 'strict', 'message' => 'Bitte eine gültige E-Mail Adresse angeben', ]), ], ]) ->getForm() ; $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { try { $this->apiClient->resetPassword($form->get('email')->getData()); $this->addFlash('info', 'Du erhältst in Kürze eine E-Mail mit einem Link zum Zurücksetzen deines Passworts – vorausgesetzt, bei deiner Buchung wurde eine E-Mail-Adresse angegeben.'); $this->logger->info('Initiated password reset', [ 'email' => $form->get('email')->getData(), ]); } catch (ApiClientException $e) { $this->addFlash('error', $e->getMessage()); $this->logger->error('Error initiating password reset', [ 'email' => $form->get('email')->getData(), 'error' => $e->getMessage(), ]); } return $this->redirectToRoute('app_login'); } return $this->render('reset_password/index.html.twig', [ 'form' => $form, ]); } }