<?php
namespace App\Controller;
use App\Entity\MobilierSousCategorie;
use App\Form\MobilierSousCategorieType;
use App\Repository\MobilierSousCategorieRepository;
use App\Repository\MobilierCategorieRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Firewall\ExceptionListener;
/**
* @Route("/mobilier/sous/categorie")
*/
class MobilierSousCategorieController extends AbstractController
{
/**
* @Route("/liste/{id}", name="app_mobilier_sous_categorie_index", methods={"GET"})
*/
public function index(Request $request, int $id, MobilierSousCategorie $mobilierSousCategorie, MobilierSousCategorieRepository $mobilierSousCategorieRepository, MobilierCategorieRepository $mobilierCategorieRepository): Response
{
$categorie = $mobilierCategorieRepository->find($id);
$s_categories = $mobilierSousCategorieRepository->findBy(
['categorie' => $categorie],
['libelle' => 'ASC']
);
//dd($s_categories);
$categories = $mobilierCategorieRepository->findBy(
[],
['libelle' => 'ASC']
);
return $this->render('mobilier_sous_categorie/index.html.twig', [
'mobilier_sous_categories' => $s_categories,
'categories' => $categories,
'title' => 'Mobilier sous catégories : ' . $categorie->getLibelle(),
'id' => $id,
]);
}
/**
* @Route("/new/{id}", name="app_mobilier_sous_categorie_new", methods={"GET", "POST"})
*/
public function new(Request $request, int $id, MobilierSousCategorieRepository $mobilierSousCategorieRepository, MobilierCategorieRepository $mobilierCategorieRepository): Response
{
$categories = $mobilierCategorieRepository->findBy(
[],
['libelle' => 'ASC']
);
$categorie = $mobilierCategorieRepository->find($id);
$mobilierSousCategorie = new MobilierSousCategorie();
$form = $this->createForm(MobilierSousCategorieType::class, $mobilierSousCategorie);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$mobilierSousCategorie->setCategorie($categorie);
$mobilierSousCategorieRepository->add($mobilierSousCategorie, true);
return $this->redirectToRoute('app_mobilier_sous_categorie_index', ['id' => $id], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('mobilier_sous_categorie/new.html.twig', [
'mobilier_sous_categorie' => $mobilierSousCategorie,
'form' => $form,
'categories' => $categories,
'title' => 'Mobilier sous catégories : ' . $categorie->getLibelle(),
'id' => $id,
]);
}
/**
* @Route("/{id}/categorie/{categorie_id}", name="app_mobilier_sous_categorie_show", methods={"GET"})
*/
public function show(MobilierSousCategorie $mobilierSousCategorie, MobilierCategorieRepository $mobilierCategorieRepository, int $categorie_id): Response
{
$categories = $mobilierCategorieRepository->findBy(
[],
['libelle' => 'ASC']
);
$categorie = $mobilierCategorieRepository->find($categorie_id);
return $this->render('mobilier_sous_categorie/show.html.twig', [
'mobilier_sous_categorie' => $mobilierSousCategorie,
'categories' => $categories,
'title' => 'Mobilier sous catégories',
'categorie_id' => $categorie_id,
]);
}
/**
* @Route("/{id}/edit/{categorie_id}/categorie", name="app_mobilier_sous_categorie_edit", methods={"GET", "POST"})
*/
public function edit(Request $request, MobilierSousCategorie $mobilierSousCategorie, MobilierSousCategorieRepository $mobilierSousCategorieRepository, MobilierCategorieRepository $mobilierCategorieRepository, int $categorie_id): Response
{
$categories = $mobilierCategorieRepository->findBy(
[],
['libelle' => 'ASC']
);
$categorie = $mobilierCategorieRepository->find($categorie_id);
$form = $this->createForm(MobilierSousCategorieType::class, $mobilierSousCategorie);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
//$mobilierSousCategorie->setCategorie($categorie);
$mobilierSousCategorieRepository->add($mobilierSousCategorie, true);
return $this->redirectToRoute('app_mobilier_sous_categorie_index', ['id' => $categorie_id], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('mobilier_sous_categorie/edit.html.twig', [
'mobilier_sous_categorie' => $mobilierSousCategorie,
'form' => $form,
'categories' => $categories,
'title' => 'Mobilier sous catégories : ' . $categorie->getLibelle(),
'categorie_id' => $categorie_id,
]);
}
/**
* @Route("/{id}/categorie/{categorie_id}", name="app_mobilier_sous_categorie_delete", methods={"POST"})
*/
public function delete(Request $request, MobilierSousCategorie $mobilierSousCategorie, MobilierSousCategorieRepository $mobilierSousCategorieRepository, int $categorie_id): Response
{
if ($this->isCsrfTokenValid('delete'.$mobilierSousCategorie->getId(), $request->request->get('_token'))) {
$mobilierSousCategorieRepository->remove($mobilierSousCategorie, true);
}
return $this->redirectToRoute('app_mobilier_sous_categorie_index', ['id' => $categorie_id], Response::HTTP_SEE_OTHER);
}
}