src/Controller/CategorieController.php line 55
<?php
namespace App\Controller;
use App\Entity\Categorie;
use App\Entity\Projet;
use App\Form\CategorieType;
use App\Repository\CategorieRepository;
use App\Repository\ProjetRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\ORM\EntityManagerInterface;
class CategorieController extends AbstractController
{
private $em;
#[Route('/admin/categorie', name: 'app_categorie_index', methods: ['GET'])]
public function index(CategorieRepository $categorieRepository): Response
{
return $this->render('categorie/index.html.twig', [
'categories' => $categorieRepository->findAll(),
]);
}
#[Route('/categorie', name: 'app_categorie_ind', methods: ['GET'])]
public function ind(CategorieRepository $categorieRepository): Response
{
return $this->render('categorie/index.html.twig', [
'categories' => $categorieRepository->findAll(),
]);
}
#[Route('/admin/categorie/new', name: 'app_categorie_new', methods: ['GET', 'POST'])]
public function new(Request $request, CategorieRepository $categorieRepository): Response
{
$categorie = new Categorie();
$form = $this->createForm(CategorieType::class, $categorie);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$categorieRepository->save($categorie, true);
return $this->redirectToRoute('app_categorie_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('categorie/new.html.twig', [
'categorie' => $categorie,
'form' => $form,
]);
}
#[Route('categorie/{id}', name: 'app_categorie_show', methods: ['GET'])]
public function show($id,CategorieRepository $categorieRepository,Request $request)
{
$categorie = $categorieRepository->find($id);
$projets = $categorie->getTags();
$parameterValue = $request->attributes->get('id');
return $this->render('categorie/voir.html.twig', [
'projet' => $projets,
'categories' => $categorieRepository->findAll(),
'parameterValue' => $parameterValue,
]);
}
#[Route('/admin/categorie/{id}/edit', name: 'app_categorie_edit', methods: ['GET', 'POST'])]
public function edit(Request $request, Categorie $categorie, CategorieRepository $categorieRepository): Response
{
$form = $this->createForm(CategorieType::class, $categorie);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$categorieRepository->save($categorie, true);
return $this->redirectToRoute('app_categorie_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('categorie/edit.html.twig', [
'categorie' => $categorie,
'form' => $form,
]);
}
#[Route('/admin/categorie/{id}', name: 'app_categorie_delete', methods: ['POST'])]
public function delete(Request $request, Categorie $categorie, CategorieRepository $categorieRepository): Response
{
if ($this->isCsrfTokenValid('delete'.$categorie->getId(), $request->request->get('_token'))) {
$categorieRepository->remove($categorie, true);
}
return $this->redirectToRoute('app_categorie_index', [], Response::HTTP_SEE_OTHER);
}
}