<?php
namespace App\Controller\Admin;
use App\Entity\AppCustomer;
use App\Entity\CustomerGroupModul;
use App\Entity\History;
use App\Entity\User;
use App\Entity\App;
use App\Entity\Customer;
use App\Entity\CustomerGroup;
use App\Entity\CustomerGroupConfig;
use App\Entity\CustomerGroupConfigKey;
use App\Entity\CustomerGroupModuleCategory;
use App\Entity\CustomerGroupModule;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Form\CustomerGroupCloneForm;
class DashboardController extends AbstractDashboardController
{
#[Route('/adm', name: 'admin')]
public function index(): Response
{
$form = $this->createForm(CustomerGroupCloneForm::class);
return $this->render('admin/dashboard.html.twig', ['form' => $form->createView()]);
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('App Admin');
}
public function configureMenuItems(): iterable
{
yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
foreach ($this->getUser()->getRoles() as $role) {
if ($role === "ROLE_ADMIN") {
yield MenuItem::subMenu('Account', 'fas fa-tags')->setSubItems([
MenuItem::linkToCrud('User', 'fas fa-tags', User::class)
]);
}
}
yield MenuItem::subMenu('Customer', 'fas fa-tags')->setSubItems([
MenuItem::linkToCrud('Apps', 'fas fa-tags', App::class),
MenuItem::linkToCrud('Kunden', 'fas fa-tags', Customer::class),
MenuItem::linkToCrud('Apps Kunden', 'fas fa-tags', AppCustomer::class),
MenuItem::linkToCrud('Gruppen', 'fas fa-tags', CustomerGroup::class),
MenuItem::linkToCrud('Gruppenkonfigurationen', 'fas fa-tags', CustomerGroupConfig::class),
MenuItem::linkToCrud('Konfigurationsschlüssel', 'fas fa-tags', CustomerGroupConfigKey::class),
MenuItem::linkToCrud('Gruppenmodule', 'fas fa-tags', CustomerGroupModul::class),
MenuItem::linkToCrud('Module', 'fas fa-tags', CustomerGroupModule::class),
MenuItem::linkToCrud('Modul Kategorien', 'fas fa-tags', CustomerGroupModuleCategory::class),
]);
foreach ($this->getUser()->getRoles() as $role) {
if ($role === "ROLE_ADMIN") {
yield MenuItem::linkToCrud('Historie', 'fas fa-tags', History::class);
}
}
}
}