<?php
namespace App\Controller\Admin;
use App\Entity\Article;
use App\Entity\Question;
use App\Entity\Answer;
use App\Entity\QuestionnaireResult;
use App\Entity\Survey;
use App\Entity\Transaction;
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 Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractDashboardController
{
/**
* @Route("/admin/", name="admin_dashboard")
*/
public function index(): Response
{
return $this->render( 'admin/dashboard.html.twig', [
'dashboard_controller_filepath' => (new \ReflectionClass(static::class))->getFileName(),
'dashboard_controller_class' => (new \ReflectionClass(static::class))->getShortName(),
]);
}
public function configureMenuItems(): iterable
{
yield MenuItem::linkToDashboard('Главная', 'fa fa-home');
yield MenuItem::linkToCrud('Опросы', 'fas fa-list', Survey::class);
yield MenuItem::linkToCrud('Вопросы', 'fas fa-question', Question::class);
yield MenuItem::linkToCrud('Ответы', 'fas fa-reply', Answer::class);
yield MenuItem::linkToCrud('Пользователи', 'fas fa-user', User::class);
yield MenuItem::linkToCrud('Результаты', 'fas fa-folder', QuestionnaireResult::class);
yield MenuItem::linkToCrud('Транзакции', 'fas fa-folder', Transaction::class);
yield MenuItem::linkToCrud('Посты', 'fas fa-sticky-note', Article::class);
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('Админ панель')
->disableUrlSignatures();
}
}