Ajout Formulaire Posts + Species avec authorisation #7

Merged
hugo.pradier2 merged 11 commits from refs/pull/7/head into main 2024-06-07 18:33:34 +02:00
3 changed files with 11 additions and 4 deletions
Showing only changes of commit 189a9fc79a - Show all commits

View File

@@ -10,6 +10,7 @@ use Symfony\Component\HttpFoundation\Response;
use App\Entity\Post; use App\Entity\Post;
use App\Form\PostType; use App\Form\PostType;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Http\Attribute\IsGranted;
class PostController extends AbstractController class PostController extends AbstractController
{ {
@@ -22,7 +23,8 @@ class PostController extends AbstractController
]); ]);
} }
#[Route('/posts', name: 'app_posts')] #[Route('/posts', name: 'app_add_posts')]
#[IsGranted('ROLE_USER', message: 'You must be logged in to access this page.')]
public function new(Request $request, EntityManagerInterface $entityManager): Response public function new(Request $request, EntityManagerInterface $entityManager): Response
{ {
$post = new Post(); $post = new Post();
@@ -38,7 +40,7 @@ class PostController extends AbstractController
$entityManager->persist($post); $entityManager->persist($post);
$entityManager->flush(); $entityManager->flush();
return $this->redirectToRoute('app_posts'); return $this->redirectToRoute('app_add_posts');
} }
return $this->render('post/post.html.twig', [ return $this->render('post/post.html.twig', [

View File

@@ -34,7 +34,11 @@ class RegistrationController extends AbstractController
// do anything else you need here, like send an email // do anything else you need here, like send an email
return $this->redirectToRoute('_profiler_home'); return $this->redirectToRoute('app_login');
}
if ($this->getUser()) {
return $this->redirectToRoute('app_posts');
} }
return $this->render('registration/register.html.twig', [ return $this->render('registration/register.html.twig', [

View File

@@ -9,14 +9,15 @@ use Symfony\Component\Routing\Annotation\Route;
use App\Entity\Species; use App\Entity\Species;
use App\Form\SpeciesType; use App\Form\SpeciesType;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Http\Attribute\IsGranted;
class SpeciesController extends AbstractController class SpeciesController extends AbstractController
{ {
#[Route('/species', name: 'app_species')] #[Route('/species', name: 'app_species')]
#[IsGranted('ROLE_USER', message: 'You must be logged in to access this page.')]
public function new(Request $request, EntityManagerInterface $entityManager): Response public function new(Request $request, EntityManagerInterface $entityManager): Response
{ {
$species = new Species(); $species = new Species();
$form = $this->createForm(SpeciesType::class, $species); $form = $this->createForm(SpeciesType::class, $species);
$form->handleRequest($request); $form->handleRequest($request);