<?php
namespace App\Controller\Admin;
use App\Entity\Category;
use App\Entity\POI;
use App\Entity\POIContent;
use App\Entity\Tour;
use App\Entity\AudioTextBlock;
use App\Entity\POIBookPage;
use App\Entity\Poitest;
use App\Entity\QuizEntry;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use Symfony\Component\HttpFoundation\Response;
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractDashboardController
{
#[Route('/admin', name: 'admin')]
public function index(): Response
{
//return parent::index();
$routeBuilder = $this->container->get(AdminUrlGenerator::class);
$url = $routeBuilder->setController(POICrudController::class)->generateUrl();
$url = $routeBuilder->setController(CategoryCrudController::class)->generateUrl();
$url = $routeBuilder->setController(POIContentCrudController::class)->generateUrl();
$url = $routeBuilder->setController(TourCrudController::class)->generateUrl();
return $this->redirect($url);
// Option 1. You can make your dashboard redirect to some common page of your backend
//
// $adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
// return $this->redirect($adminUrlGenerator->setController(OneOfYourCrudController::class)->generateUrl());
// Option 2. You can make your dashboard redirect to different pages depending on the user
//
// if ('jane' === $this->getUser()->getUsername()) {
// return $this->redirect('...');
// }
// Option 3. You can render some custom template to display a proper dashboard with widgets, etc.
// (tip: it's easier if your template extends from @EasyAdmin/page/content.html.twig)
//
// return $this->render('some/path/my-dashboard.html.twig');
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('Leinebergland Backend');
}
public function configureMenuItems(): iterable
{
// yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
// yield MenuItem::linkToCrud('The Label', 'fas fa-list', EntityClass::class);
// yield MenuItem::linktoRoute('Back to the website', 'fas fa-home', 'homepage');
// yield MenuItem::linkToCrud('Poicontents', 'fas fa-map-marker-alt', POIContent::class);
yield MenuItem::linkToCrud('Kategorien', 'fas fa-map-marker-alt', Category::class);
yield MenuItem::linkToCrud('Touren', 'fas fa-map-marker-alt', Tour::class);
yield MenuItem::linkToCrud('Points-Of-Interest', 'fas fa-map-marker-alt', POI::class);
// yield MenuItem::linkToCrud('PoiTest', 'fas fa-map-marker-alt', Poitest::class);
// yield MenuItem::linkToCrud('POIBookPage', 'fas fa-map-marker-alt', POIBookPage::class);
// yield MenuItem::linkToCrud('QuizEntry', 'fas fa-map-marker-alt', QuizEntry::class);
// yield MenuItem::linkToCrud('AudioTextBlock', 'fas fa-map-marker-alt', AudioTextBlock::class);
}
}