src/Controller/LandingPageController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Category;
  4. use App\Entity\Creation;
  5. use App\Entity\Layer;
  6. use App\Entity\Race;
  7. use App\Entity\Text;
  8. use Doctrine\Persistence\ManagerRegistry;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class LandingPageController extends \Symfony\Bundle\FrameworkBundle\Controller\AbstractController
  13. {
  14.     #[Route(path'/')]
  15.     public function landingPage(ManagerRegistry $managerRegistry)
  16.     {
  17.         $creations = [];
  18.         if($this->getUser()) {
  19.             $creations $managerRegistry->getRepository(Creation::class)->findBy([
  20.                 'user' => $this->getUser()
  21.             ]);
  22.         }
  23.         return $this->render('index/index.html.twig', [
  24.             'categories' => $managerRegistry->getRepository(Category::class)->findBy([], ['ordering' => 'ASC']),
  25.             'layers' => $managerRegistry->getRepository(Layer::class)->findAll(),
  26.             'races' => $managerRegistry->getRepository(Race::class)->findAll(),
  27.             'canvasTexts' => $managerRegistry->getRepository(Text::class)->findAll(),
  28.             'creations' => $creations,
  29.         ]);
  30.     }
  31.     #[Route(path'/loadCreation/{id}')]
  32.     public function loadCreation(ManagerRegistry $managerRegistry$id): JsonResponse
  33.     {
  34.         return new JsonResponse($managerRegistry->getRepository(Creation::class)->find($id), 200);
  35.     }
  36.     #[Route(path'/saveCreation/')]
  37.     public function saveCreation(Request $requestManagerRegistry $managerRegistry, ): JsonResponse
  38.     {
  39.         $layers $request->request->get('layers');
  40.         $raceId $request->request->get('raceId');
  41.         $race $managerRegistry->getRepository(Race::class)->find($raceId);
  42.         $creation null;
  43.         if($race) {
  44.             $creation = new Creation();
  45.             $creation->setUser($this->getUser());
  46.             $creation->setLayers($layers);
  47.             $creation->setRace($race);
  48.             $creation->setName(date('Y-m-d H:i'));
  49.             $managerRegistry->getManager()->persist($creation);
  50.             $managerRegistry->getManager()->flush();
  51.         }
  52.         return new JsonResponse($creation);
  53.     }
  54. }