PSR 2 compliance
This commit is contained in:
parent
8ec9c75953
commit
36abfa39c8
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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()
|
||||||
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Reference in a new issue