Procházet zdrojové kódy

Intégration EasyadminBundle généric

tags/0.1
Fab před 3 roky
rodič
revize
1a0ddc1b7f
3 změnil soubory, kde provedl 91 přidání a 84 odebrání
  1. +46
    -40
      Controller/Admin/AbstractCrudController.php
  2. +28
    -44
      Controller/Admin/DashboardController.php
  3. +17
    -0
      Controller/Admin/UserCrudController.php

+ 46
- 40
Controller/Admin/AbstractCrudController.php Zobrazit soubor

@@ -14,51 +14,57 @@ use Lc\SovBundle\Doctrine\Extension\TranslatableInterface;
abstract class AbstractCrudController extends EaAbstractCrudController
{

public function configureActions(Actions $actions): Actions
{
if (in_array(TranslatableInterface::class, class_implements($this->getEntityFqcn()))) {
$actions->update(Crud::PAGE_INDEX, Action::EDIT, function (Action $action) {
return $action->setTemplatePath('@LcSov/crud/action/translatable.html.twig');
});
}

return $actions;
public function configureActions(Actions $actions): Actions
{
if (in_array(TranslatableInterface::class, class_implements($this->getEntityFqcn()))) {
$actions->update(
Crud::PAGE_INDEX,
Action::EDIT,
function (Action $action) {
return $action->setTemplatePath('@LcSov/crud/action/translatable.html.twig');
}
);
}

public function configureCrud(Crud $crud): Crud
{
return $crud
->overrideTemplates([
return $actions;
}

public function configureCrud(Crud $crud): Crud
{
return $crud
->overrideTemplates(
[
'crud/edit' => '@LcSov/crud/edit.html.twig',
'crud/new' => '@LcSov/crud/new.html.twig'
])
// don't forget to add EasyAdmin's form theme at the end of the list
// (otherwise you'll lose all the styles for the rest of form fields)
->setFormThemes(['@LcSov/crud/form_theme.html.twig', '@FOSCKEditor/Form/ckeditor_widget.html.twig']);
}
'crud/new' => '@LcSov/crud/new.html.twig',
]
)
// don't forget to add EasyAdmin's form theme at the end of the list
// (otherwise you'll lose all the styles for the rest of form fields)
->setFormThemes(['@LcSov/crud/form_theme.html.twig', '@FOSCKEditor/Form/ckeditor_widget.html.twig']);
}


public function configureAssets(Assets $assets): Assets
{
return $assets
// adds the CSS and JS assets associated to the given Webpack Encore entry
// it's equivalent to calling encore_entry_link_tags('...') and encore_entry_script_tags('...')
//->addWebpackEncoreEntry('admin-app')
public function configureAssets(Assets $assets): Assets
{
return $assets
// adds the CSS and JS assets associated to the given Webpack Encore entry
// it's equivalent to calling encore_entry_link_tags('...') and encore_entry_script_tags('...')
//->addWebpackEncoreEntry('admin-app')

// the argument of these methods is passed to the asset() Twig function
// CSS assets are added just before the closing </head> element
// and JS assets are added just before the closing </body> element
->addJsFile('bundles/lc_sov/js/utils.js');
}
// the argument of these methods is passed to the asset() Twig function
// CSS assets are added just before the closing </head> element
// and JS assets are added just before the closing </body> element
->addJsFile('bundles/lc_sov/js/utils.js');
}

/*
public function configureFields(string $pageName): iterable
{
return [
IdField::new('id'),
TextField::new('title'),
TextEditorField::new('description'),
];
}
*/
/*
public function configureFields(string $pageName): iterable
{
return [
IdField::new('id'),
TextField::new('title'),
TextEditorField::new('description'),
];
}
*/
}

+ 28
- 44
Controller/Admin/DashboardController.php Zobrazit soubor

@@ -3,58 +3,42 @@
namespace Lc\SovBundle\Controller\Admin;

use App\Entity\Page;
use App\Entity\User;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use Lc\SovBundle\Doctrine\EntityManager;
use Lc\SovBundle\Model\User\UserInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class DashboardController extends AbstractDashboardController
{
public function index(): Response
{
return $this->render('@LcSov/dashboard.html.twig');
}

public function configureDashboard(): Dashboard
{
return Dashboard::new()
// the name visible to end users
->setTitle('LA CLIC !')
// you can include HTML contents too (e.g. to link to an image)
->setTitle('<img src="assets/img/laclic.png" width="100px">')
// the path defined in this method is passed to the Twig asset() function
->setFaviconPath('favicon.svg')
// the domain used by default is 'messages'
->setTranslationDomain('lcadmin');
}

public function configureCrud(): Crud
{
$crud = Crud::new();

return $crud
->addFormTheme('@FOSCKEditor/Form/ckeditor_widget.html.twig');
}

public function index(): Response
{
return $this->render('@LcSov/dashboard.html.twig');
}

public function configureDashboard(): Dashboard
{
return Dashboard::new()
// the name visible to end users
->setTitle('LA CLIC !')
// you can include HTML contents too (e.g. to link to an image)
->setTitle('<img src="assets/img/laclic.png" width="100px">')
// the path defined in this method is passed to the Twig asset() function
->setFaviconPath('favicon.svg')
// the domain used by default is 'messages'
->setTranslationDomain('lcadmin');
}

public function configureCrud(): Crud
{
$crud = Crud::new();
return $crud
->addFormTheme('@FOSCKEditor/Form/ckeditor_widget.html.twig');
}

public function configureMenuItems(): iterable
{
return [
MenuItem::linkToDashboard('Tableau de bord', 'fa fa-home'),
MenuItem::linkToCrud('Pages', 'fa fa-tags', Page::class),


/*
MenuItem::section('Blog'),
MenuItem::linkToCrud('Categories', 'fa fa-tags', Category::class),
MenuItem::linkToCrud('Blog Posts', 'fa fa-file-text', BlogPost::class),

MenuItem::section('Users'),
MenuItem::linkToCrud('Comments', 'fa fa-comment', Comment::class),
MenuItem::linkToCrud('Users', 'fa fa-user', User::class),*/

//MenuItem::linkToLogout('Déconnexion', 'fa fa-exit'),
];
}
}

+ 17
- 0
Controller/Admin/UserCrudController.php Zobrazit soubor

@@ -0,0 +1,17 @@
<?php

namespace Lc\SovBundle\Controller\Admin;

use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;

abstract class UserCrudController extends AbstractCrudController
{

public function configureFields(string $pageName): iterable
{
return [
TextField::new('email')
];
}

}

Načítá se…
Zrušit
Uložit