PSR 2 compliance

This commit is contained in:
Simon Vieille 2021-03-19 15:13:42 +01:00
parent 8ec9c75953
commit 36abfa39c8
12 changed files with 65 additions and 67 deletions

View file

@ -11,9 +11,8 @@
namespace App\Bundle; namespace App\Bundle;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Bundle\Bundle;
use App\DependencyInjection\AppExtension; use App\DependencyInjection\AppExtension;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class AppBundle extends Bundle class AppBundle extends Bundle
{ {

View file

@ -5,20 +5,20 @@ namespace App\Controller\Site;
use App\Controller\Admin\AdminController; use App\Controller\Admin\AdminController;
use App\Entity\Site\Node; use App\Entity\Site\Node;
use App\Entity\Site\Node as Entity; use App\Entity\Site\Node as Entity;
use App\Entity\Site\Page\Page;
use App\Event\EntityManager\EntityManagerEvent; use App\Event\EntityManager\EntityManagerEvent;
use App\Factory\Site\NodeFactory as EntityFactory; use App\Factory\Site\NodeFactory as EntityFactory;
use App\Factory\Site\Page\PageFactory;
use App\Form\Site\NodeMoveType; use App\Form\Site\NodeMoveType;
use App\Form\Site\NodeType as EntityType; use App\Form\Site\NodeType as EntityType;
use App\Manager\EntityManager; use App\Manager\EntityManager;
use App\Repository\Site\NodeRepository; use App\Repository\Site\NodeRepository;
use App\Site\PageLocator;
use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
use App\Site\PageLocator;
use App\Factory\Site\Page\PageFactory;
use App\Entity\Site\Page\Page;
/** /**
* @Route("/admin/site/node") * @Route("/admin/site/node")
@ -134,32 +134,6 @@ class NodeAdminController extends AdminController
]); ]);
} }
protected function handlePageAssociation(
string $pageAction,
?Page $pageEntity,
string $pageType,
Entity $entity,
PageFactory $pageFactory,
PageLocator $pageLocator
)
{
if ($pageAction === 'new') {
$pageConfiguration = $pageLocator->getPage($pageType);
$page = $pageFactory->create($pageType, $entity->getLabel());
$page->setTemplate($pageConfiguration->getTemplates()[0]['file']);
$entity->setPage($page);
} elseif ($pageAction === 'existing') {
if ($pageEntity) {
$entity->setPage($pageEntity);
} else {
$this->addFlash('info', 'Aucun changement de page effectué.');
}
} elseif ($pageAction === 'none') {
$entity->setPage(null);
}
}
/** /**
* @Route("/move/{entity}", name="admin_site_node_move") * @Route("/move/{entity}", name="admin_site_node_move")
*/ */
@ -261,4 +235,29 @@ class NodeAdminController extends AdminController
{ {
return ''; return '';
} }
protected function handlePageAssociation(
string $pageAction,
?Page $pageEntity,
string $pageType,
Entity $entity,
PageFactory $pageFactory,
PageLocator $pageLocator
) {
if ('new' === $pageAction) {
$pageConfiguration = $pageLocator->getPage($pageType);
$page = $pageFactory->create($pageType, $entity->getLabel());
$page->setTemplate($pageConfiguration->getTemplates()[0]['file']);
$entity->setPage($page);
} elseif ('existing' === $pageAction) {
if ($pageEntity) {
$entity->setPage($pageEntity);
} else {
$this->addFlash('info', 'Aucun changement de page effectué.');
}
} elseif ('none' === $pageAction) {
$entity->setPage(null);
}
}
} }

View file

@ -10,10 +10,10 @@ use App\Manager\EntityManager;
use App\Page\FooPage; use App\Page\FooPage;
use App\Page\SimplePage; use App\Page\SimplePage;
use App\Repository\Site\Page\PageRepositoryQuery as RepositoryQuery; use App\Repository\Site\Page\PageRepositoryQuery as RepositoryQuery;
use App\Site\PageLocator;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
use App\Site\PageLocator;
/** /**
* @Route("/admin/site/page") * @Route("/admin/site/page")

View file

@ -2,11 +2,10 @@
namespace App\Controller\Site; namespace App\Controller\Site;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use App\Site\SiteRequest; use App\Site\SiteRequest;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class PageController extends AbstractController class PageController extends AbstractController
{ {

View file

@ -4,23 +4,22 @@ namespace App\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Extension\Extension; use Symfony\Component\DependencyInjection\Extension\Extension;
use App\DependencyInjection\Configuration;
class AppExtension extends Extension class AppExtension extends Extension
{ {
/** /**
* {@inheritDoc} * {@inheritdoc}
*/ */
public function load(array $configs, ContainerBuilder $container) public function load(array $configs, ContainerBuilder $container)
{ {
$configuration = $this->getConfiguration($configs, $container); $configuration = $this->getConfiguration($configs, $container);
$config = $this->processConfiguration($configuration, $configs); $config = $this->processConfiguration($configuration, $configs);
$container->setParameter('app', $config); $container->setParameter('app', $config);
} }
/** /**
* {@inheritDoc} * {@inheritdoc}
*/ */
public function getConfiguration(array $configs, ContainerBuilder $container) public function getConfiguration(array $configs, ContainerBuilder $container)
{ {

View file

@ -10,10 +10,10 @@ use App\Factory\Site\NodeFactory;
use App\Manager\EntityManager; use App\Manager\EntityManager;
use App\Repository\Site\NodeRepository; use App\Repository\Site\NodeRepository;
use App\Slugify\Slugify; use App\Slugify\Slugify;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Bundle\FrameworkBundle\Console\Application; use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\BufferedOutput; use Symfony\Component\Console\Output\BufferedOutput;
use Symfony\Component\HttpKernel\KernelInterface;
/** /**
* class NodeEventSubscriber. * class NodeEventSubscriber.
@ -79,7 +79,7 @@ class NodeEventSubscriber extends EntityManagerEventSubscriber
$number = 1; $number = 1;
while ($this->nodeRepository->urlExists($generatedUrl.'-'.$number, $node)) { while ($this->nodeRepository->urlExists($generatedUrl.'-'.$number, $node)) {
$number++; ++$number;
} }
$generatedUrl = $generatedUrl.'-'.$number; $generatedUrl = $generatedUrl.'-'.$number;

View file

@ -3,15 +3,15 @@
namespace App\Form\Site; namespace App\Form\Site;
use App\Entity\Site\Node; use App\Entity\Site\Node;
use App\Entity\Site\Page\Page;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\NotBlank;
use App\Entity\Site\Page\Page;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Doctrine\ORM\EntityRepository;
class NodeType extends AbstractType class NodeType extends AbstractType
{ {
@ -77,7 +77,7 @@ class NodeType extends AbstractType
'label' => false, 'label' => false,
'required' => true, 'required' => true,
'mapped' => false, 'mapped' => false,
'choices' => call_user_func(function() use ($options) { 'choices' => call_user_func(function () use ($options) {
$choices = []; $choices = [];
foreach ($options['pages'] as $page) { foreach ($options['pages'] as $page) {
@ -111,7 +111,7 @@ class NodeType extends AbstractType
] ]
); );
if ($builder->getData()->getId() === null) { if (null === $builder->getData()->getId()) {
$builder->add( $builder->add(
'position', 'position',
ChoiceType::class, ChoiceType::class,

View file

@ -4,11 +4,11 @@ namespace App\Form\Site\Page;
use App\Entity\Site\Page\Page; use App\Entity\Site\Page\Page;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
class PageType extends AbstractType class PageType extends AbstractType
{ {
@ -86,7 +86,7 @@ class PageType extends AbstractType
[ [
'label' => 'Rendu', 'label' => 'Rendu',
'required' => true, 'required' => true,
'choices' => call_user_func(function() use ($options) { 'choices' => call_user_func(function () use ($options) {
$choices = []; $choices = [];
foreach ($options['pageConfiguration']->getTemplates() as $template) { foreach ($options['pageConfiguration']->getTemplates() as $template) {
@ -103,7 +103,6 @@ class PageType extends AbstractType
] ]
); );
$builder->getData()->buildForm($builder); $builder->getData()->buildForm($builder);
} }

View file

@ -17,16 +17,19 @@ class NodeRepository extends NestedTreeRepository
{ {
$query = $this->createQueryBuilder('n') $query = $this->createQueryBuilder('n')
->where('n.url = :url') ->where('n.url = :url')
->setParameter(':url', $url); ->setParameter(':url', $url)
;
if ($node->getId()) { if ($node->getId()) {
$query $query
->andWhere('n.id != :id') ->andWhere('n.id != :id')
->setParameter(':id', $node->getId()); ->setParameter(':id', $node->getId())
;
} }
return $query->getQuery() return $query->getQuery()
->setMaxResults(1) ->setMaxResults(1)
->getOneOrNullResult(); ->getOneOrNullResult()
;
} }
} }

View file

@ -2,11 +2,11 @@
namespace App\Router; namespace App\Router;
use App\Controller\Site\PageController;
use App\Repository\Site\NavigationRepositoryQuery; use App\Repository\Site\NavigationRepositoryQuery;
use Symfony\Component\Config\Loader\Loader; use Symfony\Component\Config\Loader\Loader;
use Symfony\Component\Routing\RouteCollection;
use App\Controller\Site\PageController;
use Symfony\Component\Routing\Route; use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
/** /**
* class SiteRouteLoader. * class SiteRouteLoader.

View file

@ -20,6 +20,16 @@ class PageLocator
$this->loadPages(); $this->loadPages();
} }
public function getPages(): array
{
return $this->pages;
}
public function getPage($className)
{
return $this->pages[$className] ?? null;
}
protected function loadPages(): void protected function loadPages(): void
{ {
$params = $this->params['site']['pages'] ?? []; $params = $this->params['site']['pages'] ?? [];
@ -35,14 +45,4 @@ class PageLocator
$this->pages[$className] = $pageConfiguration; $this->pages[$className] = $pageConfiguration;
} }
} }
public function getPages(): array
{
return $this->pages;
}
public function getPage($className)
{
return $this->pages[$className] ?? null;
}
} }

View file

@ -2,14 +2,14 @@
namespace App\Site; namespace App\Site;
use App\Entity\Site\Menu;
use App\Entity\Site\Navigation;
use App\Entity\Site\Node; use App\Entity\Site\Node;
use App\Entity\Site\Page\Page; use App\Entity\Site\Page\Page;
use App\Repository\Site\NavigationRepositoryQuery; use App\Repository\Site\NavigationRepositoryQuery;
use App\Repository\Site\NodeRepository; use App\Repository\Site\NodeRepository;
use App\Repository\Site\Page\PageRepositoryQuery; use App\Repository\Site\Page\PageRepositoryQuery;
use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\RequestStack;
use App\Entity\Site\Menu;
use App\Entity\Site\Navigation;
/** /**
* class SiteRequest. * class SiteRequest.