src/Controller/Admin/DashboardController.php line 35

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Bewertung;
  4. use App\Entity\BewertungKategorie;
  5. use App\Entity\Fernsehserie;
  6. use App\Entity\Film;
  7. use App\Entity\Filmart;
  8. use App\Entity\FilmPerson;
  9. use App\Entity\Notiz;
  10. use App\Entity\Person;
  11. use App\Entity\Speicherort;
  12. use App\Entity\Spiel;
  13. use App\Entity\SpielGenre;
  14. use App\Repository\NotizRepository;
  15. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  16. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  17. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  18. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  19. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  20. use Symfony\Component\HttpFoundation\Response;
  21. use Symfony\Component\Routing\Annotation\Route;
  22. class DashboardController extends AbstractDashboardController
  23. {
  24.     private NotizRepository $notizRepository;
  25.     public function __construct(NotizRepository $notizRepository)
  26.     {
  27.         $this->notizRepository $notizRepository;
  28.     }
  29.     #[Route('/'name'admin')]
  30.     public function index(): Response
  31.     {
  32.         // Option 1. You can make your dashboard redirect to some common page of your backend
  33.         //
  34.         // $adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
  35.         // return $this->redirect($adminUrlGenerator->setController(OneOfYourCrudController::class)->generateUrl());
  36.         // Option 2. You can make your dashboard redirect to different pages depending on the user
  37.         //
  38.         // if ('jane' === $this->getUser()->getUsername()) {
  39.         //     return $this->redirect('...');
  40.         // }
  41.         // Option 3. You can render some custom template to display a proper dashboard with widgets, etc.
  42.         // (tip: it's easier if your template extends from @EasyAdmin/page/content.html.twig)
  43.         //
  44.         $notizen $this->notizRepository->findAll();
  45.         return $this->render('dashboard.html.twig', [
  46.             'notizen'   => $notizen,
  47.         ]);
  48.     }
  49.     public function configureDashboard(): Dashboard
  50.     {
  51.         return Dashboard::new()
  52.             ->setTitle('Intranet');
  53.     }
  54.     public function configureAssets(): Assets
  55.     {
  56.         $assets parent::configureAssets();
  57.         $assets->addJsFile('js/jquery-3.6.1.min.js');
  58.         return $assets;
  59.     }
  60.     public function configureMenuItems(): iterable
  61.     {
  62.         yield MenuItem::linkToDashboard('Dashboard''fa fa-home');
  63.         yield MenuItem::section('Bewertungen');
  64.         yield MenuItem::linkToCrud('Bewertungen''fas fa-list'Bewertung::class);
  65.         yield MenuItem::linkToCrud('Kategorien''fas fa-list'BewertungKategorie::class);
  66.         yield MenuItem::section('Filme und Serien');
  67.         yield MenuItem::linkToCrud('Filme''fas fa-list'Film::class);
  68.         yield MenuItem::linkToCrud('Fernsehserien''fas fa-list'Fernsehserie::class);
  69.         yield MenuItem::linkToCrud('Filmarten''fas fa-list'Filmart::class);
  70.         yield MenuItem::linkToCrud('Speicherorte''fas fa-list'Speicherort::class);
  71.         yield MenuItem::linkToCrud('Personen''fas fa-list'Person::class);
  72.         yield MenuItem::section('Spiele');
  73.         yield MenuItem::linkToCrud('Spiele''fas fa-list'Spiel::class);
  74.         yield MenuItem::linkToCrud('Spiele-Genres''fas fa-list'SpielGenre::class);
  75.         yield MenuItem::section('Sonstiges');
  76.         yield MenuItem::linkToCrud('Notizen''fas fa-list'Notiz::class);
  77.         yield MenuItem::linkToCrud('FilmPerson''fas fa-list'FilmPerson::class);
  78.         yield MenuItem::linkToRoute('Geo''fas fa-map''geo');
  79.     }
  80. }