src/Controller/Admin/DashboardController.php line 27

  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\AboutUs;
  4. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  5. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  6. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use App\Entity\Project;
  10. use App\Entity\User;
  11. use App\Entity\Client;
  12. use App\Entity\Category;
  13. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  14. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  15. class DashboardController extends AbstractDashboardController
  16. {
  17.     public function __construct(private readonly AdminUrlGenerator $urlGenerator) {}
  18.     /**
  19.      * @Route("/dsidesadmin", name="admin")
  20.      * @IsGranted("ROLE_EDITOR")
  21.      */
  22.     public function index(): Response
  23.     {
  24.         $this->denyAccessUnlessGranted('IS_AUTHENTICATED_FULLY');
  25.         $routeBuilder $this->urlGenerator->setController(ProjectCrudController::class);
  26.         return $this->redirect($routeBuilder->generateUrl());
  27.     }
  28.     public function configureDashboard(): Dashboard
  29.     {
  30.         return Dashboard::new()
  31.             ->setTitle('dsides')
  32.             ->setFaviconPath('/img/favicon_dark.jpg');
  33.     }
  34.     public function configureMenuItems(): iterable
  35.     {
  36.         yield MenuItem::linkToRoute('Retour au site''fa fa-home''home');
  37.         // yield MenuItem::linktoDashboard('Dashboard', 'fa fa-home');
  38.         // Projets
  39.         yield MenuItem::section('Projets');
  40.         yield MenuItem::linkToCrud('Projets''fas fa-list'Project::class);
  41.         yield MenuItem::linkToCrud('Catégories''fas fa-tags'Category::class);
  42.         yield MenuItem::linkToCrud('Clients''fas fa-building'Client::class);
  43.         yield MenuItem::linkToCrud('Équipe''fas fa-users'User::class);
  44.         yield MenuItem::linkToCrud('Text Dynamique''fa-solid fa-pen-nib'AboutUs::class);
  45.         // Actions admin
  46.         yield MenuItem::section('Actions admin')
  47.             ->setPermission('ROLE_ADMIN');
  48.         yield MenuItem::linkToRoute('Réordonner''fa fa-sort-numeric-down''reorder')
  49.             ->setPermission('ROLE_ADMIN');
  50.     }
  51. }