src/Controller/Admin/DashboardController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Incident;
  4. use App\Entity\Sat;
  5. use App\Entity\Status;
  6. use App\Entity\Category;
  7. use App\Entity\Supplier;
  8. use App\Entity\User;
  9. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  10. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  11. use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
  12. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  13. use Symfony\Component\HttpFoundation\Response;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Symfony\Component\Security\Core\User\UserInterface;
  16. class DashboardController extends AbstractDashboardController
  17. {
  18.     #[Route('/admin'name'admin')]
  19.     public function index(): Response
  20.     {
  21.         return $this->render('admin/dashboard.html.twig');
  22.     }
  23.     public function configureDashboard(): Dashboard
  24.     {
  25.         return Dashboard::new()
  26.             ->setTitle('<img src="/img/logo.png" height="32" class="d-inline-block align-bottom"><span class="fs-4"> S.A.T </span><span class="fs-6 fw-light"> Search</span>')
  27.             ->setFaviconPath('favicon.png');
  28.     }
  29.     public function configureMenuItems(): iterable
  30.     {
  31.         return [
  32.             MenuItem::linkToDashboard('Dashboard''fa fa-home'),
  33.             
  34.             MenuItem::section('Incidencias'),
  35.             MenuItem::linkToCrud('Incidencias''fa fa-triangle-exclamation'Incident::class)->setBadge(14'warning'),
  36.             MenuItem::linkToCrud('S.A.T''fa fa-users-gear'Sat::class)->setBadge(10'success'),
  37.             // MenuItem::linkToCrud('Gestión Avisos', 'fa fa-comments', Sat::class)->setBadge(25, 'info'),
  38.             MenuItem::section('Gestión'),
  39.             MenuItem::linkToCrud('Usuarios''fa fa-user'User::class),
  40.             MenuItem::linkToCrud('Categorías''fa fa-laptop'Category::class),
  41.             MenuItem::linkToCrud('Proveedores''fa fa-cubes'Supplier::class),
  42.             MenuItem::linkToCrud('Estados''fas fa-tasks'Status::class),
  43.         ];
  44.     }
  45.     public function configureUserMenu(UserInterface $user): UserMenu
  46.     {
  47.         // Usually it's better to call the parent method because that gives you a
  48.         // user menu with some menu items already created ("sign out", "exit impersonation", etc.)
  49.         // if you prefer to create the user menu from scratch, use: return UserMenu::new()->...
  50.         return parent::configureUserMenu($user)
  51.             // use the given $user object to get the user name
  52.             ->setName($user->getFirstName())
  53.             // use this method if you don't want to display the name of the user
  54.             ->displayUserName(false)
  55.             // you can also pass an email address to use gravatar's service
  56.             ->setGravatarEmail($user->getEmail())
  57.             // you can use any type of menu item, except submenus
  58.             ->addMenuItems([
  59.                 MenuItem::linkToCrud('Perfil''fa fa-id-card'User::class)->setAction('edit')->setEntityId($user->getId()),
  60.             ]);
  61.     }
  62. }