<?php | <?php | ||||
namespace Lc\SovBundle\Controller\Admin; | |||||
namespace Lc\SovBundle\Controller; | |||||
use Doctrine\ORM\EntityManagerInterface; | use Doctrine\ORM\EntityManagerInterface; | ||||
use Doctrine\ORM\QueryBuilder; | use Doctrine\ORM\QueryBuilder; | ||||
use Symfony\Component\HttpFoundation\Session\SessionInterface; | use Symfony\Component\HttpFoundation\Session\SessionInterface; | ||||
abstract class AbstractCrudController extends EaAbstractCrudController | |||||
abstract class AbstractAdminController extends EaAbstractCrudController | |||||
{ | { | ||||
protected $session; | protected $session; | ||||
protected $request; | protected $request; |
<?php | |||||
namespace Lc\SovBundle\Controller\Admin; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Action; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Actions; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField; | |||||
abstract class UserCrudController extends AbstractCrudController | |||||
{ | |||||
public function configureFields(string $pageName): iterable | |||||
{ | |||||
return [ | |||||
TextField::new('email') | |||||
]; | |||||
} | |||||
} |
<?php | <?php | ||||
namespace Lc\SovBundle\Controller\Admin; | |||||
namespace Lc\SovBundle\Controller\Dashboard; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Assets; | use EasyCorp\Bundle\EasyAdminBundle\Config\Assets; | ||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud; | use EasyCorp\Bundle\EasyAdminBundle\Config\Crud; |
<?php | <?php | ||||
namespace Lc\SovBundle\Controller\Admin; | |||||
namespace Lc\SovBundle\Controller\Security; | |||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||||
use Symfony\Component\HttpFoundation\Response; | use Symfony\Component\HttpFoundation\Response; |
<?php | |||||
namespace Lc\SovBundle\Controller\User; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField; | |||||
use Lc\SovBundle\Controller\AbstractAdminController; | |||||
abstract class UserAdminController extends AbstractAdminController | |||||
{ | |||||
public function configureFields(string $pageName): iterable | |||||
{ | |||||
return [ | |||||
TextField::new('email') | |||||
]; | |||||
} | |||||
} |
<?php | <?php | ||||
namespace Lc\SovBundle\Controller\Admin; | |||||
namespace Lc\SovBundle\Controller\User; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto; | use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto; | ||||
use EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider; | use EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider; |
<?php | <?php | ||||
namespace Lc\SovBundle\Form\Type\Crud; | |||||
namespace Lc\SovBundle\Form\Common; | |||||
use EasyCorp\Bundle\EasyAdminBundle\Form\Type\EaFormPanelType; | use EasyCorp\Bundle\EasyAdminBundle\Form\Type\EaFormPanelType; | ||||
protected $parent; | protected $parent; | ||||
protected $doctrineOrmTypeGuesser; | protected $doctrineOrmTypeGuesser; | ||||
public function __construct(DoctrineOrmTypeGuesser $doctrineOrmTypeGuesser, \EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType $crudFormType) | |||||
{ | |||||
public function __construct( | |||||
DoctrineOrmTypeGuesser $doctrineOrmTypeGuesser, | |||||
\EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType $crudFormType | |||||
) { | |||||
$this->parent = $crudFormType; | $this->parent = $crudFormType; | ||||
$this->doctrineOrmTypeGuesser = $doctrineOrmTypeGuesser; | $this->doctrineOrmTypeGuesser = $doctrineOrmTypeGuesser; | ||||
} | } | ||||
public function buildForm(FormBuilderInterface $builder, array $options) | public function buildForm(FormBuilderInterface $builder, array $options) | ||||
{ | { | ||||
$this->parent->buildForm($builder, $options); | $this->parent->buildForm($builder, $options); | ||||
$entityDto = $options['entityDto']; | $entityDto = $options['entityDto']; | ||||
$formPanels=[]; | |||||
$formPanels = []; | |||||
$currentFormPanel = 0; | $currentFormPanel = 0; | ||||
foreach ($entityDto->getFields() as $fieldDto) { | foreach ($entityDto->getFields() as $fieldDto) { | ||||
if (null === $formFieldType = $fieldDto->getFormType()) { | if (null === $formFieldType = $fieldDto->getFormType()) { | ||||
'help' => $fieldDto->getHelp(), | 'help' => $fieldDto->getHelp(), | ||||
'css_class' => $fieldDto->getCssClass(), | 'css_class' => $fieldDto->getCssClass(), | ||||
]; | ]; | ||||
foreach($fieldDto->getCustomOptions()->all() as $customOptionKey=> $customOption){ | |||||
foreach ($fieldDto->getCustomOptions()->all() as $customOptionKey => $customOption) { | |||||
$formPanels[$currentFormPanel][$customOptionKey] = $customOption; | $formPanels[$currentFormPanel][$customOptionKey] = $customOption; | ||||
} | } | ||||
continue; | continue; | ||||
//$this->niche->buildForm($builder, $options); | //$this->niche->buildForm($builder, $options); | ||||
} | } | ||||
public function finishView(FormView $view, FormInterface $form, array $options){ | |||||
public function finishView(FormView $view, FormInterface $form, array $options) | |||||
{ | |||||
$this->parent->finishView($view, $form, $options); | $this->parent->finishView($view, $form, $options); | ||||
} | } | ||||
public function configureOptions(OptionsResolver $resolver){ | |||||
$this->parent->configureOptions($resolver); | |||||
public function configureOptions(OptionsResolver $resolver) | |||||
{ | |||||
$this->parent->configureOptions($resolver); | |||||
} | } | ||||
public function getBlockPrefix(){ | |||||
public function getBlockPrefix() | |||||
{ | |||||
return $this->parent->getBlockPrefix(); | return $this->parent->getBlockPrefix(); | ||||
} | } | ||||
} | } |
<?php | <?php | ||||
namespace Lc\SovBundle\Form\Type\Crud; | |||||
namespace Lc\SovBundle\Form\Common; | |||||
use Lc\SovBundle\DataTransformer\FileManagerTypeToDataTransformer; | use Lc\SovBundle\DataTransformer\FileManagerTypeToDataTransformer; | ||||
use Lc\SovBundle\Entity\File\File; | use Lc\SovBundle\Entity\File\File; |
<?php | <?php | ||||
namespace Lc\SovBundle\Form\Type\Crud; | |||||
namespace Lc\SovBundle\Form\Common; | |||||
use Symfony\Component\Form\AbstractType; | use Symfony\Component\Form\AbstractType; |
* file that was distributed with this source code. | * file that was distributed with this source code. | ||||
*/ | */ | ||||
namespace Lc\SovBundle\Form\Type\User; | |||||
namespace Lc\SovBundle\Form\User; | |||||
use Lc\SovBundle\Doctrine\EntityManager; | use Lc\SovBundle\Doctrine\EntityManager; | ||||
use Lc\SovBundle\Model\User\UserInterface; | use Lc\SovBundle\Model\User\UserInterface; |
<?php | <?php | ||||
namespace Lc\SovBundle\Form\Type\User; | |||||
namespace Lc\SovBundle\Form\User; | |||||
use Lc\SovBundle\DataTransformer\FileManagerTypeToDataTransformer; | use Lc\SovBundle\DataTransformer\FileManagerTypeToDataTransformer; | ||||
use Lc\SovBundle\Doctrine\EntityManager; | use Lc\SovBundle\Doctrine\EntityManager; |
sov_login: | sov_login: | ||||
path: /login | path: /login | ||||
controller: Lc\SovBundle\Controller\Admin\SecurityController::login | |||||
controller: Lc\SovBundle\Controller\Security\SecurityController::login | |||||
sov_logout: | sov_logout: | ||||
path: /logout | path: /logout | ||||
controller: Lc\SovBundle\Controller\Admin\SecurityController::logout | |||||
controller: Lc\SovBundle\Controller\Security\SecurityController::logout | |||||
sov_admin_account_profile: | sov_admin_account_profile: | ||||
path: /admin/account/profile | path: /admin/account/profile | ||||
controller: Lc\SovBundle\Controller\Admin\UserController::profile | |||||
controller: Lc\SovBundle\Controller\User\UserController::profile | |||||
sov_admin_account_password: | sov_admin_account_password: | ||||
path: /admin/account/password | path: /admin/account/password | ||||
controller: Lc\SovBundle\Controller\Admin\UserController::changePassword | |||||
controller: Lc\SovBundle\Controller\User\UserController::changePassword | |||||
resource: '../../Controller/' | resource: '../../Controller/' | ||||
tags: [ 'controller.service_arguments' ] | tags: [ 'controller.service_arguments' ] | ||||
Lc\SovBundle\Form\Type\Crud\CrudFormType: | |||||
Lc\SovBundle\Form\Common\CrudFormType: | |||||
decorates: EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType | decorates: EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType | ||||
arguments: [ '@form.type_guesser.doctrine', '@.inner' ] | arguments: [ '@form.type_guesser.doctrine', '@.inner' ] | ||||