Source of file FormulaireController.php

Size: 2,172 Bytes - Last Modified: 2023-11-16T22:56:02+01:00

/home/websites/teicee/packagist/site/phpdoc/conf/../vendor/teicee/demo-bundle/src/Controller/FormulaireController.php

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
<?php
namespace TIC\DemoBundle\Controller;

use TIC\CoreBundle\Base\TICController as BaseController;
use TIC\DormBundle\Traits\ControllerItemable;
use TIC\TwigBundle\Traits\ControllerViewable;

use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

/**
 * @Route("/formulaire")
 */
class FormulaireController extends BaseController
{
	use ControllerItemable, ControllerViewable;

	/**
	 * Affichage de la liste des entités Formulaire.
	 * @Route("/",     name="ticdemo_formulaire_index", methods={"GET"})
	 * @Route("/list", name="ticdemo_formulaire_list",  methods={"GET"})
	 */
	public function list(Request $request): Response
	{
		return $this->renderAction('list', [
			'items' => $this->getRepo()->findAll(),
		]);
	}

	/**
	 * Affichage de la fiche d'une entité Formulaire.
	 * @Route("/{id}/show", name="ticdemo_formulaire_show", methods={"GET"}, requirements={"id":"\d+"})
	 */
	public function show(Request $request, $id): Response
	{
		return $this->renderAction('show', [
			'item' => $this->getItem($id),
		]);
	}

	/**
	 * Formulaire de création/modification d'une entité Formulaire.
	 * @Route("/create",      name="ticdemo_formulaire_create",  methods={"GET","POST"})
	 * @Route("/{id}/update", name="ticdemo_formulaire_update", methods={"GET","POST"}, requirements={"id":"\d+"})
	 */
	public function form(Request $request, $id = null): Response
	{
		$item = $this->getItem($id);
		$form = $this->getForm($item, $request, []);
		
		if ($form->isSubmitted() && $form->isValid()) {
			return $this->saveItem($item, true, true);
		}
		return $this->renderAction('form', [
			'item' => $item,
			'form' => $form,
		]);
	}

	/**
	 * Action de suppression d'une entité Formulaire.
	 * @Route("/{id}/delete", name="ticdemo_formulaire_delete", methods={"GET","POST"}, requirements={"id":"\d+"})
	 */
	public function delete(Request $request, $id): Response
	{
		$item = $this->getItem($id);
		
		if (false === $this->checkCSRF('delete'.$id, $request))
			return $this->alert('danger', "error.csrf.invalid", $item);
		
		return $this->deleteItem($item, true, true);
	}

}