sessionManager->find($request); if (null === $dto) { return $this->createSessionExpiredResponse($request); } if (null !== $redirect = $this->validateStepAccess($dto, 2)) { return $redirect; } $user = $this->getUser(); if ($user instanceof User && false === $dto->hasBuyerData()) { $personalData = $this->personalDataPrefiller->fetchPersonalData($user); if (null !== $personalData) { $dto->prefillBuyer($personalData, $user->getEmail()); $this->sessionManager->save($request, $dto); } } $form = $this->createForm(VoucherPurchaseStep2Type::class, $dto); $form->handleRequest($request); if (true === $form->isSubmitted() && true === $form->isValid()) { $dto->currentStep = 3; $this->sessionManager->save($request, $dto); return $this->redirectToRoute('app_voucher_step_3'); } return $this->render('voucher/step_2.html.twig', [ ...$this->createStepContext($dto), 'form' => $form, ]); } }