Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

49 lines
1.5KB

  1. <?php
  2. namespace App\Controller\Frontend;
  3. use App\Controller\AbstractController;
  4. use App\Entity\IndividualData\IndividualData;
  5. use App\Form\IndividualDataForm;
  6. use App\Repository\Site\BlockStore;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. class ContribuateController extends AbstractController
  11. {
  12. public function __construct(
  13. EntityManagerInterface $em,
  14. BlockStore $blockStore
  15. ) {
  16. $this->blockStore = $blockStore;
  17. parent::__construct($em);
  18. }
  19. public function contribuate(Request $request, EntityManagerInterface $entityManager): Response
  20. {
  21. $blockContrib = $this->blockStore->getOneOnlineByDevAlias('contribution-individuel');
  22. $individualData = new IndividualData();
  23. $form = $this->createForm(IndividualDataForm::class, $individualData, ["context" => "frontend"]);
  24. $form->handleRequest($request);
  25. if ($form->isSubmitted() && $form->isValid()) {
  26. $individualData->setStatus(0);
  27. $entityManager->create($individualData);
  28. $entityManager->flush();
  29. $this->addFlash('success', 'Votre contribution a bien été prise en compte !');
  30. }
  31. return $this->render(
  32. 'frontend/contribuate.html.twig',
  33. [
  34. 'nbContrib' => $this->countContrib(),
  35. 'form' => $form->createView(),
  36. 'blockContrib' => $blockContrib,
  37. ]
  38. );
  39. }
  40. }