Source of file Controller.tpl.php

Size: 4,791 Bytes - Last Modified: 2023-11-16T22:56:03+01:00

/home/websites/teicee/packagist/site/phpdoc/conf/../vendor/teicee/make-bundle/src/Resources/skeleton/crud/Controller.tpl.php

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
<?= "<?php\n" ?>
namespace <?= $namespace; ?>;

use TIC\CoreBundle\Base\TICController as BaseController;
#use TIC\DormBundle\Traits\ControllerCrudable;
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;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;

<?php if (isset($item_class)): ?>
#use <?= $item_class ?> as Item;
<?php endif ?>
<?php if (isset($repo_class)): ?>
#use <?= $repo_class ?> as ItemRepo;
<?php endif ?>
<?php if (isset($form_class)): ?>
#use <?= $form_class ?> as ItemForm;
<?php endif ?>

/**
 * Controlleur CRUD pour les entités <?= $item_name ?>.
 * @Route("<?= $route_path ?>")
 */
class <?= $class_name; ?> extends BaseController
{
#	use ControllerCrudable;
	use ControllerItemable, ControllerViewable;

	/**
	 * Affichage de la liste des entités <?= $item_name ?>.
	 * @Route("/",     name="<?= $route_name ?>index", methods={"GET"})
	 * @Route("/list", name="<?= $route_name ?>list",  methods={"GET"})
	 */
	public function list(Request $request): Response
	{
#		return $this->crudList([], [], []);
<?php if ($with_template): ?>
		return $this->renderAction('list', [
<?php else: ?>
		return $this->json([
<?php endif ?>
			'items' => $this->getRepo()->findAll(),
		]);
	}

	/**
	 * Affichage de la fiche d'une entité <?= $item_name ?>.
	 * @Route("/{<?= $entity_key ?>}/show", name="<?= $route_name ?>show", methods={"GET"}, requirements={"<?= $entity_key ?>":"\d+"})
	 */
	public function show(Request $request, $<?= $entity_key ?>): Response
	{
#		return $this->crudShow($<?= $entity_key ?>, []);
<?php if ($with_template): ?>
		return $this->renderAction('show', [
<?php else: ?>
		return $this->json([
<?php endif ?>
			'item' => $this->getItem($<?= $entity_key ?>),
		]);
	}

<?php if ($split_form): ?>

	/**
	 * Formulaire de création d'une entité <?= $item_name ?>.
	 * @Route("/create", name="<?= $route_name ?>create", methods={"GET","POST"})
	 */
	public function create(Request $request): Response
	{
#		return $this->crudForm($requestnull, [], ['view'=>'create']);
		$item = $this->getItem();
		$form = $this->getForm($item, $request, []);
		
		if ($form->isSubmitted() && $form->isValid()) {
			return $this->saveItem($item, true);
		}
<?php if ($with_template): ?>
		return $this->renderAction('create', [
<?php else: ?>
		return $this->json([
<?php endif ?>
			'item' => $item,
			'form' => $form,
		]);
	}

	/**
	 * Formulaire de modification d'une entité <?= $item_name ?>.
	 * @Route("/{<?= $entity_key ?>}/update", name="<?= $route_name ?>update", methods={"GET","POST"}, requirements={"<?= $entity_key ?>":"\d+"})
	 */
	public function update(Request $request, $<?= $entity_key ?>): Response
	{
#		return $this->crudForm($request, $<?= $entity_key ?>, [], ['view'=>'update']);
		$item = $this->getItem($<?= $entity_key ?>);
		$form = $this->getForm($item, $request, []);
		
		if ($form->isSubmitted() && $form->isValid()) {
			return $this->saveItem($item, true);
		}
<?php if ($with_template): ?>
		return $this->renderAction('update', [
<?php else: ?>
		return $this->json([
<?php endif ?>
			'item' => $item,
			'form' => $form,
		]);
	}

<?php else: ?>

	/**
	 * Formulaire de création/modification d'une entité <?= $item_name ?>.
	 * @Route("/create",      name="<?= $route_name ?>create", methods={"GET","POST"})
	 * @Route("/{<?= $entity_key ?>}/update", name="<?= $route_name ?>update", methods={"GET","POST"}, requirements={"<?= $entity_key ?>":"\d+"})
	 */
	public function form(Request $request, $<?= $entity_key ?> = null): Response
	{
#		return $this->crudForm($request, $<?= $entity_key ?>);
		$item = $this->getItem($<?= $entity_key ?>);
		$form = $this->getForm($item, $request, []);
		
		if ($form->isSubmitted() && $form->isValid()) {
			return $this->saveItem($item, true);
		}
<?php if ($with_template): ?>
		return $this->renderAction('form', [
<?php else: ?>
		return $this->json([
<?php endif ?>
			'item' => $item,
			'form' => $form,
		]);
	}

<?php endif ?>

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

}