src/Controller/Admin/DashboardController.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Appointment;
  4. use App\Entity\CapacityType;
  5. use App\Entity\Card;
  6. use App\Entity\CardType;
  7. use App\Entity\CustomSchedule;
  8. use App\Entity\DefaultSchedule;
  9. use App\Entity\EventLog;
  10. use App\Entity\News;
  11. use App\Entity\NewsletterEntry;
  12. use App\Entity\User;
  13. use App\Entity\VehicleType;
  14. use App\Entity\WasteType;
  15. use EasyCorp\Bundle\EasyAdminBundle\Config\Action;
  16. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  17. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  18. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  19. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  20. use EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider;
  21. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  22. use Symfony\Component\HttpFoundation\Response;
  23. use Symfony\Component\Routing\Annotation\Route;
  24. class DashboardController extends AbstractDashboardController
  25. {
  26.     /**
  27.      * @Route("/%easyadmin_url%", name="admin_dashboard")
  28.      */
  29.     public function index(): Response
  30.     {
  31.         // redirect to some CRUD controller
  32.         $routeBuilder $this->get(AdminUrlGenerator::class);
  33.         return $this->redirect(
  34.             $routeBuilder
  35.                 ->setController(AppointmentCrudController::class)
  36.                 ->setAction('liveDashboard')
  37.                 ->generateUrl()
  38.         );
  39.     }
  40.     public function configureDashboard(): Dashboard
  41.     {
  42.         return Dashboard::new()
  43.             ->setTitle('Sivec')
  44.             ->setTranslationDomain('admin');
  45.     }
  46.     public function configureMenuItems(): iterable
  47.     {
  48. //        yield MenuItem::linktoDashboard('Dashboard', 'fa fa-home');
  49.         yield MenuItem::linktoRoute('Dashboard''fa fa-home''admin_dashboard_live');
  50.         yield MenuItem::linkToUrl('App''fa fa-mobile-alt'$_ENV['APP_URL'])->setLinkTarget('_blank');
  51.         if ($this->isGranted('ROLE_SIVEC_OPERATOR')) {
  52.             yield MenuItem::section('Listing');
  53.             yield MenuItem::linkToCrud('Appointment''fa fa-calendar-check'Appointment::class);
  54.             yield MenuItem::linkToCrud('Newsletter''fa fa-envelope'NewsletterEntry::class);
  55.             yield MenuItem::linkToCrud('News''fa fa-newspaper'News::class);
  56.         }
  57.         if ($this->isGranted('ROLE_SIVEC_MANAGER')) {
  58.             yield MenuItem::linkToCrud('Card''fa fa-id-card'Card::class);
  59.             yield MenuItem::section('Horaires');
  60.             yield MenuItem::linkToCrud('DefaultSchedule''fa fa-calendar'DefaultSchedule::class);
  61.             yield MenuItem::linkToCrud('CustomSchedule''fa fa-calendar-alt'CustomSchedule::class);
  62.             yield MenuItem::section('Configuration');
  63.             yield MenuItem::linkToCrud('CardType''fa fa-user-cog'CardType::class);
  64.             yield MenuItem::linkToCrud('Vehicle''fa fa-truck-pickup'VehicleType::class);
  65.             yield MenuItem::linkToCrud('WasteType''fa fa-dumpster'WasteType::class);
  66.             yield MenuItem::linkToCrud('CapacityType''fa fa-user'CapacityType::class);
  67.             yield MenuItem::linkToCrud('User''fa fa-truck'User::class);
  68.             yield MenuItem::linktoRoute('Parameters''fa fa-cogs''admin_project_parameter');
  69.             yield MenuItem::section('Admin');
  70.             yield MenuItem::linkToCrud('Log''fa fa-clipboard-list'EventLog::class)
  71.                 ->setPermission('ROLE_SUPER_ADMIN');
  72.             yield MenuItem::linkToUrl('Openapi doc''fa fa-book-atlas''/swagger/index.html')
  73.                 ->setLinkTarget('_blank')
  74.                 ->setPermission('ROLE_SUPER_ADMIN');
  75.         }
  76.     }
  77.     public function configureAssets(): Assets
  78.     {
  79.         return
  80.             Assets::new()
  81.                 ->addCssFile('assets/admin/css/style.css');
  82.     }
  83. }