src/Controller/Admin/DashboardController.php line 39

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  4. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  5. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  6. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use App\Entity\Main\Reservation;
  10. use App\Entity\Main\BookedActivity;
  11. use App\Entity\Customer\Customer;
  12. use App\Entity\Main\GroupTarifs;
  13. use App\Entity\Main\Price;
  14. use App\Entity\Main\Promos;
  15. use App\Entity\Main\PromosOptions;
  16. use App\Entity\Main\PromosPanier;
  17. use App\Entity\Main\OffreDuMoment;
  18. use App\Entity\Main\SuggestedOffer;
  19. use App\Entity\Main\Activity;
  20. use App\Entity\Main\Formule;
  21. use App\Entity\Main\Forfait;
  22. use App\Entity\Main\ActivityOptions;
  23. use App\Entity\Main\CartoBon;
  24. use App\Entity\Main\Calendar;
  25. use App\Entity\Main\User;
  26. class DashboardController extends AbstractDashboardController
  27. {
  28.     /**
  29.      * @Route("/admin", name="admin")
  30.      */
  31.     public function index(): Response
  32.     {
  33.         return $this->render('admin/dashboard.html.twig', []);
  34.     }
  35.     public function configureAssets(): Assets
  36.     {
  37.         return Assets::new()
  38.             ->addJsFile('https://code.jquery.com/jquery-3.6.0.min.js')
  39.             ->addJsFile('admin_assets/scripts-v20250526.js')
  40.             ->addCssFile('admin_assets/style.css');
  41.     }
  42.     public function configureDashboard(): Dashboard
  43.     {
  44.         return Dashboard::new()
  45.             ->setTitle('Reservation 1055 <span class="city-logo">Chaleuzeule Besançon</span>')
  46.             ->setFaviconPath('assets/img/favicon.png');
  47.     }
  48.     public function configureMenuItems(): iterable
  49.     {
  50.         yield MenuItem::linkToDashboard('Dashboard''fa fa-home');
  51.         
  52.         yield MenuItem::section('Réservations');
  53.         yield MenuItem::linkToCrud('Réservations''fas fa-book'Reservation::class);
  54.         yield MenuItem::linkToCrud('Activités réservées''fas fa-list-ul'BookedActivity::class);
  55.         yield MenuItem::linkToCrud('Clients''fas fa-id-card'Customer::class);
  56.         
  57.         yield MenuItem::section('Tarification')->setPermission('ROLE_ADMIN');
  58.         yield MenuItem::linkToCrud('Types de tarifs''fas fa-funnel-dollar'GroupTarifs::class)->setPermission('ROLE_ADMIN');
  59.         yield MenuItem::linkToCrud('Tarifs''fas fa-euro-sign'Price::class)->setPermission('ROLE_ADMIN');
  60.         yield MenuItem::linkToCrud('Options''fas fa-check-square'ActivityOptions::class)->setPermission('ROLE_ADMIN');
  61.         yield MenuItem::subMenu('Promos''fa fa-percent')->setSubItems([
  62.             MenuItem::linkToCrud('Promos forfaits'''Promos::class),
  63.             MenuItem::linkToCrud('Promos options'''PromosOptions::class),
  64.             MenuItem::linkToCrud('Promos panier'''PromosPanier::class),
  65.         ])->setPermission('ROLE_ADMIN');
  66.         yield MenuItem::section('Animation')->setPermission('ROLE_ADMIN');
  67.         yield MenuItem::linkToCrud('Offres du moment''fas fa-images'OffreDuMoment::class)->setPermission('ROLE_ADMIN');
  68.         yield MenuItem::linkToCrud('Offres suggérées''fas fa-search-dollar'SuggestedOffer::class)->setPermission('ROLE_ADMIN');
  69.         yield MenuItem::section('Catalogue')->setPermission('ROLE_ADMIN');
  70.         yield MenuItem::linkToCrud('Activités''fas fa-dice'Activity::class)->setPermission('ROLE_ADMIN');
  71.         yield MenuItem::linkToCrud('Formules''fas fa-tasks'Formule::class)->setPermission('ROLE_ADMIN');
  72.         yield MenuItem::linkToCrud('Forfaits''fas fa-cubes'Forfait::class)->setPermission('ROLE_ADMIN');
  73.         yield MenuItem::section('Configuration')->setPermission('ROLE_ADMIN');
  74.         yield MenuItem::linkToCrud('Cartographie des bons''fas fa-map-signs'CartoBon::class)->setPermission('ROLE_ADMIN');
  75.         yield MenuItem::linkToCrud('Calendrier de fermeture''fas fa-calendar-times'Calendar::class)->setPermission('ROLE_ADMIN');
  76.         yield MenuItem::linkToCrud('Utilisateurs''fas fa-user'User::class)->setPermission('ROLE_ADMIN');
  77.     }
  78. }