|
@@ -2,19 +2,35 @@
|
|
|
|
|
|
namespace App\Controller;
|
|
|
|
|
|
+use App\Entity\Film;
|
|
|
+use App\Form\FilmType;
|
|
|
use App\Repository\FilmRepository;
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
|
+use Symfony\Component\HttpFoundation\RedirectResponse;
|
|
|
+use Symfony\Component\HttpFoundation\Request;
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
use Symfony\Component\Routing\Attribute\Route;
|
|
|
|
|
|
class IndexController extends AbstractController
|
|
|
{
|
|
|
- #[Route('/', name: 'app_index')]
|
|
|
- public function index(FilmRepository $filmRepository): Response
|
|
|
+ #[Route('/', name: 'app_index', methods: ['GET', 'POST'])]
|
|
|
+ public function index(Request $request, FilmRepository $filmRepository): Response
|
|
|
{
|
|
|
- $filmRepository->findAll();
|
|
|
+ $film = new Film();
|
|
|
+ $form = $this->createForm(FilmType::class, $film);
|
|
|
+ $films = $filmRepository->findAll();
|
|
|
+
|
|
|
+ $form->handleRequest($request);
|
|
|
+
|
|
|
+ if ($form->isSubmitted() && $form->isValid()) {
|
|
|
+ $filmRepository->save($film, true);
|
|
|
+
|
|
|
+ return $this->redirectToRoute('app_index', [], RedirectResponse::HTTP_SEE_OTHER);
|
|
|
+ }
|
|
|
+
|
|
|
return $this->render('index/index.html.twig', [
|
|
|
- 'films' => 'films',
|
|
|
+ 'films' => $films,
|
|
|
+ 'form' => $form
|
|
|
]);
|
|
|
}
|
|
|
}
|