/**
* Displays contact form and sends e-mail message when using POST request.
*
* @param \eZ\Publish\Core\MVC\Symfony\View\View $view
* @param \Symfony\Component\HttpFoundation\Request $request
*
* @return \eZ\Publish\Core\MVC\Symfony\View\View|\Symfony\Component\HttpFoundation\Response
*/
public function showContactFormAction(View $view, Request $request)
{
$form = $this->form->getForm();
if ($request->isMethod('POST')) {
$form->handleRequest($request);
if ($form->isValid()) {
// sends e-mail using submitted data
$sendingStatus = $this->sender->send($form->getData(), $this->emailTitle, $this->senderEmail, $this->recipientEmail);
if ($sendingStatus) {
// redirects user to confirmation page after successful sending of e-mail
return new RedirectResponse($this->router->generate('app.submitted'));
}
}
}
$view->addParameters(['form' => $form->createView()]);
return $view;
}