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