PSR 2 compliance
This commit is contained in:
parent
cf6bb84bfb
commit
775d4562bd
|
@ -3,8 +3,8 @@
|
|||
namespace App\Core\Controller\Admin;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
abstract class AdminController extends AbstractController
|
||||
{
|
||||
|
|
|
@ -18,10 +18,10 @@ use Symfony\Component\HttpFoundation\Session\Session;
|
|||
*/
|
||||
abstract class CrudController extends AdminController
|
||||
{
|
||||
abstract protected function getConfiguration(): CrudConfiguration;
|
||||
|
||||
protected array $filters = [];
|
||||
|
||||
abstract protected function getConfiguration(): CrudConfiguration;
|
||||
|
||||
protected function doIndex(int $page = 1, RepositoryQuery $query, Request $request, Session $session): Response
|
||||
{
|
||||
$configuration = $this->getConfiguration();
|
||||
|
@ -37,7 +37,7 @@ abstract class CrudController extends AdminController
|
|||
'configuration' => $configuration,
|
||||
'pager' => $pager,
|
||||
'filters' => [
|
||||
'show' => $configuration->getForm('filter') !== null,
|
||||
'show' => null !== $configuration->getForm('filter'),
|
||||
'isEmpty' => empty($this->filters),
|
||||
],
|
||||
]);
|
||||
|
|
|
@ -6,6 +6,7 @@ use App\Core\Event\Account\PasswordRequestEvent;
|
|||
use App\Core\Manager\EntityManager;
|
||||
use App\Repository\UserRepository;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
@ -14,7 +15,6 @@ use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
|
|||
use Symfony\Component\Security\Csrf\TokenGenerator\TokenGeneratorInterface;
|
||||
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
|
||||
use ZxcvbnPhp\Zxcvbn;
|
||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||
|
||||
class AuthController extends AbstractController
|
||||
{
|
||||
|
|
|
@ -5,7 +5,6 @@ namespace App\Core\Controller\Setting;
|
|||
use App\Core\Controller\Admin\AdminController;
|
||||
use App\Core\Entity\Setting as Entity;
|
||||
use App\Core\Event\Setting\SettingEvent;
|
||||
use App\Core\Factory\SettingFactory as EntityFactory;
|
||||
use App\Core\Manager\EntityManager;
|
||||
use App\Core\Repository\SettingRepositoryQuery as RepositoryQuery;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
|
@ -47,8 +46,7 @@ class SettingAdminController extends AdminController
|
|||
EntityManager $entityManager,
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
Request $request
|
||||
): Response
|
||||
{
|
||||
): Response {
|
||||
$builder = $this->createFormBuilder($entity);
|
||||
|
||||
$eventDispatcher->dispatch(new SettingEvent([
|
||||
|
|
|
@ -24,7 +24,8 @@ class NavigationAdminController extends AdminController
|
|||
{
|
||||
$pager = $query
|
||||
->orderBy('.label, .domain')
|
||||
->paginate($page);
|
||||
->paginate($page)
|
||||
;
|
||||
|
||||
return $this->render('@Core/site/navigation_admin/index.html.twig', [
|
||||
'pager' => $pager,
|
||||
|
|
|
@ -5,17 +5,15 @@ namespace App\Core\Controller\Site;
|
|||
use App\Core\Controller\Admin\AdminController;
|
||||
use App\Core\Entity\Site\Page\Page as Entity;
|
||||
use App\Core\Factory\Site\Page\PageFactory as EntityFactory;
|
||||
use App\Core\Form\Site\Page\PageType as EntityType;
|
||||
use App\Core\Form\Site\Page\Filter\PageFilterType as FilterType;
|
||||
use App\Core\Form\Site\Page\PageType as EntityType;
|
||||
use App\Core\Manager\EntityManager;
|
||||
use App\Core\Page\FooPage;
|
||||
use App\Core\Page\SimplePage;
|
||||
use App\Core\Repository\Site\Page\PageRepositoryQuery as RepositoryQuery;
|
||||
use App\Core\Site\PageLocator;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\HttpFoundation\Session\Session;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
|
||||
/**
|
||||
* @Route("/admin/site/page")
|
||||
|
@ -31,7 +29,8 @@ class PageAdminController extends AdminController
|
|||
|
||||
$pager = $query
|
||||
->useFilters($this->filters)
|
||||
->paginate($page);
|
||||
->paginate($page)
|
||||
;
|
||||
|
||||
return $this->render('@Core/site/page_admin/index.html.twig', [
|
||||
'pager' => $pager,
|
||||
|
@ -104,6 +103,11 @@ class PageAdminController extends AdminController
|
|||
]);
|
||||
}
|
||||
|
||||
public function getSection(): string
|
||||
{
|
||||
return 'site_page';
|
||||
}
|
||||
|
||||
protected function updateFilters(Request $request, Session $session)
|
||||
{
|
||||
if ($request->query->has('page_filter')) {
|
||||
|
@ -129,9 +133,4 @@ class PageAdminController extends AdminController
|
|||
$session->set('page_filter', $filters);
|
||||
}
|
||||
}
|
||||
|
||||
public function getSection(): string
|
||||
{
|
||||
return 'site_page';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ namespace App\Core\Controller\Site;
|
|||
use App\Core\Site\SiteRequest;
|
||||
use App\Core\Site\SiteStore;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class PageController extends AbstractController
|
||||
|
|
|
@ -56,7 +56,8 @@ class TreeAdminController extends AdminController
|
|||
): Response {
|
||||
$navigations = $navigationQuery->create()
|
||||
->orderBy('.label, .domain')
|
||||
->find();
|
||||
->find()
|
||||
;
|
||||
|
||||
$session->set('site_tree_last_navigation', $navigation->getId());
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
|
||||
|
||||
/**
|
||||
* @Route("/admin/user")
|
||||
|
|
|
@ -12,7 +12,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
|||
*/
|
||||
abstract class EntityManagerEventSubscriber implements EventSubscriberInterface
|
||||
{
|
||||
static protected int $priority = 0;
|
||||
protected static int $priority = 0;
|
||||
|
||||
public static function getSubscribedEvents()
|
||||
{
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Core\EventSuscriber\Site;
|
||||
|
||||
use App\Core\Cache\SymfonyCacheManager;
|
||||
use App\Core\Entity\EntityInterface;
|
||||
use App\Core\Entity\Site\Menu;
|
||||
use App\Core\Event\EntityManager\EntityManagerEvent;
|
||||
|
@ -10,7 +11,6 @@ use App\Core\Factory\Site\NodeFactory;
|
|||
use App\Core\Manager\EntityManager;
|
||||
use App\Core\Repository\Site\NodeRepository;
|
||||
use App\Core\Slugify\CodeSlugify;
|
||||
use App\Core\Cache\SymfonyCacheManager;
|
||||
|
||||
/**
|
||||
* class MenuEventSubscriber.
|
||||
|
|
|
@ -2,15 +2,14 @@
|
|||
|
||||
namespace App\Core\EventSuscriber\Site;
|
||||
|
||||
use App\Core\Cache\SymfonyCacheManager;
|
||||
use App\Core\Entity\EntityInterface;
|
||||
use App\Core\Entity\Site\Menu;
|
||||
use App\Core\Entity\Site\Navigation;
|
||||
use App\Core\Entity\Site\Node;
|
||||
use App\Core\Event\EntityManager\EntityManagerEvent;
|
||||
use App\Core\EventSuscriber\EntityManagerEventSubscriber;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\HttpKernel\KernelInterface;
|
||||
use App\Core\Cache\SymfonyCacheManager;
|
||||
|
||||
/**
|
||||
* class SiteEventSubscriber.
|
||||
|
|
|
@ -7,8 +7,8 @@ use Symfony\Component\Form\AbstractType;
|
|||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Length;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
|
||||
class NavigationType extends AbstractType
|
||||
{
|
||||
|
|
|
@ -2,18 +2,13 @@
|
|||
|
||||
namespace App\Core\Form\Site\Page\Filter;
|
||||
|
||||
use App\Core\Entity\Site\Page\Page;
|
||||
use App\Core\Entity\Site\Navigation;
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FileType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Validator\Constraints\Image;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
||||
use App\Core\Entity\Site\Navigation;
|
||||
use Doctrine\ORM\EntityRepository;
|
||||
|
||||
class PageFilterType extends AbstractType
|
||||
{
|
||||
|
|
|
@ -74,6 +74,27 @@ abstract class RepositoryQuery
|
|||
return $this->repository;
|
||||
}
|
||||
|
||||
public function useFilters(array $filters)
|
||||
{
|
||||
foreach ($filters as $name => $value) {
|
||||
if (null === $value) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_int($value) || is_bool($value)) {
|
||||
$this->andWhere('.'.$name.' = :'.$name);
|
||||
$this->setParameter(':'.$name, $value);
|
||||
} elseif (is_string($value)) {
|
||||
$this->andWhere('.'.$name.' LIKE :'.$name);
|
||||
$this->setParameter(':'.$name, '%'.$value.'%');
|
||||
} else {
|
||||
$this->filterHandler($name, $value);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function populateDqlId(&$data)
|
||||
{
|
||||
if (is_string($data)) {
|
||||
|
@ -98,25 +119,4 @@ abstract class RepositoryQuery
|
|||
protected function filterHandler(string $name, $value)
|
||||
{
|
||||
}
|
||||
|
||||
public function useFilters(array $filters)
|
||||
{
|
||||
foreach ($filters as $name => $value) {
|
||||
if (null === $value) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_int($value) || is_bool($value)) {
|
||||
$this->andWhere('.'.$name.' = :'.$name);
|
||||
$this->setParameter(':'.$name, $value);
|
||||
} elseif (is_string($value)) {
|
||||
$this->andWhere('.'.$name.' LIKE :'.$name);
|
||||
$this->setParameter(':'.$name, '%'.$value.'%');
|
||||
} else {
|
||||
$this->filterHandler($name, $value);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
namespace App\Core\Repository\Site\Page;
|
||||
|
||||
use App\Core\Entity\Site\Navigation;
|
||||
use App\Core\Repository\RepositoryQuery;
|
||||
use Knp\Component\Pager\PaginatorInterface;
|
||||
use App\Core\Entity\Site\Navigation;
|
||||
|
||||
/**
|
||||
* class PageRepositoryQuery.
|
||||
|
@ -18,15 +18,6 @@ class PageRepositoryQuery extends RepositoryQuery
|
|||
parent::__construct($repository, 'p', $paginator);
|
||||
}
|
||||
|
||||
protected function filterHandler(string $name, $value)
|
||||
{
|
||||
if ($name === 'navigation') {
|
||||
return $this->filterByNavigation($value);
|
||||
} else {
|
||||
return parent::filterHandler($name, $value);
|
||||
}
|
||||
}
|
||||
|
||||
public function filterByNavigation(Navigation $navigation)
|
||||
{
|
||||
return $this
|
||||
|
@ -34,7 +25,8 @@ class PageRepositoryQuery extends RepositoryQuery
|
|||
->leftJoin('node.menu', 'menu')
|
||||
->leftJoin('menu.navigation', 'navigation')
|
||||
->where('navigation.id = :navigationId')
|
||||
->setParameter(':navigationId', $navigation->getId());
|
||||
->setParameter(':navigationId', $navigation->getId())
|
||||
;
|
||||
}
|
||||
|
||||
public function filterById($id)
|
||||
|
@ -46,4 +38,13 @@ class PageRepositoryQuery extends RepositoryQuery
|
|||
|
||||
return $this;
|
||||
}
|
||||
|
||||
protected function filterHandler(string $name, $value)
|
||||
{
|
||||
if ('navigation' === $name) {
|
||||
return $this->filterByNavigation($value);
|
||||
}
|
||||
|
||||
return parent::filterHandler($name, $value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace App\Core\Setting;
|
||||
|
||||
use App\Core\Entity\Setting;
|
||||
use App\Core\Factory\SettingFactory;
|
||||
use App\Core\Manager\EntityManager;
|
||||
use App\Core\Repository\SettingRepositoryQuery;
|
||||
use App\Core\Entity\Setting;
|
||||
|
||||
/**
|
||||
* class SettingManager.
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
namespace App\Core\Twig\Extension;
|
||||
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\PropertyAccess\PropertyAccess;
|
||||
use Symfony\Component\PropertyAccess\PropertyAccessor;
|
||||
use Twig\Environment;
|
||||
use Twig\Extension\AbstractExtension;
|
||||
use Twig\TwigFunction;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
class CrudExtension extends AbstractExtension
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ class CrudExtension extends AbstractExtension
|
|||
public function renderField($entity, array $config): string
|
||||
{
|
||||
$field = $config['field'];
|
||||
$instance = new $field;
|
||||
$instance = new $field();
|
||||
$resolver = $instance->configureOptions(new OptionsResolver());
|
||||
|
||||
return $instance->buildView($this->twig, $entity, $resolver->resolve($config['options']));
|
||||
|
|
|
@ -5,8 +5,6 @@ namespace App\Entity;
|
|||
use App\Core\Doctrine\Timestampable;
|
||||
use App\Core\Entity\EntityInterface;
|
||||
use App\Repository\UserRepository;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Doctrine\Common\Collections\Collection;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use Scheb\TwoFactorBundle\Model\Google\TwoFactorInterface;
|
||||
use Symfony\Component\Security\Core\User\UserInterface;
|
||||
|
|
Loading…
Reference in a new issue