src/Controller/Admin/DashboardController.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Users;
  4. use App\Entity\Articles;
  5. use App\Entity\Comments;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  9. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  10. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  11. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  12. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  13. class DashboardController extends AbstractDashboardController
  14. {   
  15.     #[Route('/admin'name'admin')]
  16.     #[IsGranted('ROLE_ADMIN'statusCode403message'Interdit, vous n\'ĂȘtes pas Adminstrateur ')]
  17.     public function index(): Response
  18.     {
  19.         $routeBuilder $this->container->get(AdminUrlGenerator::class);
  20.         $url $routeBuilder->setController(UsersCrudController::class)->generateUrl();
  21.         return $this->redirect($url);
  22.         // Option 1. You can make your dashboard redirect to some common page of your backend
  23.         //
  24.         // $adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
  25.         // return $this->redirect($adminUrlGenerator->setController(OneOfYourCrudController::class)->generateUrl());
  26.         // Option 2. You can make your dashboard redirect to different pages depending on the user
  27.         //
  28.         // if ('jane' === $this->getUser()->getUsername()) {
  29.         //     return $this->redirect('...');
  30.         // }
  31.         // Option 3. You can render some custom template to display a proper dashboard with widgets, etc.
  32.         // (tip: it's easier if your template extends from @EasyAdmin/page/content.html.twig)
  33.         //
  34.         // return $this->render('some/path/my-dashboard.html.twig');
  35.     }
  36.     public function configureDashboard(): Dashboard
  37.     {
  38.         return Dashboard::new()
  39.             ->setTitle('Mon Blog');
  40.     }
  41.     public function configureMenuItems(): iterable
  42.     {
  43.         // yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
  44.         // yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);
  45.         yield MenuItem::linktoRoute('Back to the website''fas fa-home''app_home_user');
  46.         yield MenuItem::linkToCrud('Users''fas fa-users'Users::class);
  47.         yield MenuItem::linkToCrud('Articles''fas fa-posts'Articles::class);
  48.         yield MenuItem::linkToCrud('Comments''fas fa-comments'Comments::class);
  49.     }
  50. }