<?php
namespace App\Controller;
use App\Entity\Tranings;
use App\Form\TraningsType;
use App\Repository\TraningsRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/formations")
*/
class TraningsController extends AbstractController {
/**
* @Route("/", name="app_tranings_index", methods={"GET"})
*/
public function index(TraningsRepository $traningsRepository): Response {
return $this->render('tranings/index.html.twig', [
'tranings' => $traningsRepository->findAll(),
]);
}
/**
* @Route("/new", name="app_tranings_new", methods={"GET", "POST"})
*/
public function new(Request $request, TraningsRepository $traningsRepository): Response {
$traning = new Tranings();
$form = $this->createForm(TraningsType::class, $traning);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$traningsRepository->add($traning);
return $this->redirectToRoute('app_tranings_index', [], Response::HTTP_SEE_OTHER);
}
return $this->renderForm('tranings/new.html.twig', [
'traning' => $traning,
'form' => $form,
]);
}
/**
* @Route("/{id}/{slug}", name="app_tranings_show", methods={"GET"}, requirements={"id"="\d+"})
*/
public function show(Tranings $traning, TraningsRepository $traningRepo, $id, $slug = null): Response {
$article = $traningRepo->find($id);
if (!$article) {
throw new NotFoundHttpException();
}
// $cat = $article->getCategory()->getId() . '-' . $article->getCategory()->getSlug();
if ($article->getSlug() !== $slug ) {
return $this->redirectToRoute('article_show', [
'id' => $id,
'slug' => $article->getSlug(),
// 'category' => $cat
]);
}
return $this->render('tranings/show.html.twig', [
'traning' => $traning,
]);
}
// /**
// * @Route("/{id}/edit", name="app_tranings_edit", methods={"GET", "POST"})
// */
// public function edit(Request $request, Tranings $traning, TraningsRepository $traningsRepository): Response {
// $form = $this->createForm(TraningsType::class, $traning);
// $form->handleRequest($request);
//
// if ($form->isSubmitted() && $form->isValid()) {
// $traningsRepository->add($traning);
// return $this->redirectToRoute('app_tranings_index', [], Response::HTTP_SEE_OTHER);
// }
//
// return $this->renderForm('tranings/edit.html.twig', [
// 'traning' => $traning,
// 'form' => $form,
// ]);
// }
// /**
// * @Route("/{id}", name="app_tranings_delete", methods={"POST"})
// */
// public function delete(Request $request, Tranings $traning, TraningsRepository $traningsRepository): Response {
// if ($this->isCsrfTokenValid('delete' . $traning->getId(), $request->request->get('_token'))) {
// $traningsRepository->remove($traning);
// }
//
// return $this->redirectToRoute('app_tranings_index', [], Response::HTTP_SEE_OTHER);
// }
}