<?php
namespace App\Controller\Frontend;
use App\Entity\Campaign;
use App\Misc\CaptchaHelper;
use App\Utilities\ServiceUtil;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use FOS\RestBundle\Controller\Annotations as Rest;
use App\Exception\BadRequestException;
use Symfony\Contracts\Translation\TranslatorInterface;
use Symfony\Component\Routing\Annotation\Route;
use App\Annotation\Log;
class ParticipateController extends BaseFrontendController
{
/**
* @Route("/{_locale}/vis-ma-vie-d-estiamien", requirements={"_locale": "en|fr"}, defaults={"_locale"="fr"}, name="ma_vie")
*/
public function maVie(TranslatorInterface $translator)
{
return $this->render('pages/404.html.twig');
$siteName = $this->getParameter('site_name');
$this->addTitle($translator->trans(
'ma_vie.title',
[
'%siteName%' => $siteName
]
));
$this->setDescription($translator->trans(
'ma_vie.desc',
[
'%siteName%' => $siteName
]
));
return $this->render('rencontrer/ma_vie.html.twig');
}
/**
* @Rest\Post("/save-participer", name="participer.save_apply")
* @Log
*/
public function saveParticiper(
Request $request,
CaptchaHelper $captchaHelper,
TranslatorInterface $translator
) {
try {
// Check captcha is valid
if ($this->getParameter('captcha_enabled') && !$captchaHelper->isCaptchaValid($request)) {
return $this->json(ServiceUtil::processFailed([
'errorMessage' => $translator->trans('message.captcha_is_not_valid')
]));
}
$this->participateService->addEntity($request);
return $this->json(ServiceUtil::processSuccessful());
} catch (BadRequestException $badRequestException) {
$messagesArr = $badRequestException->getMessages();
foreach ($messagesArr['data'] as $field => $message) {
$errorMessage = $message;
break;
}
}
$data['errorMessage'] = $errorMessage;
return $this->json(ServiceUtil::processFailed($data));
}
}