<?php
namespace App\Controller\Admin;
use App\Entity\Agence;
use App\Entity\CategorieAffaire;
use App\Entity\Client;
use App\Entity\Fournisseur;
use App\Entity\PropositionOrigine;
use App\Entity\TypeClient;
use App\Entity\User;
use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DashboardController extends AbstractDashboardController
{
#[Route('/admin', name: 'admin')]
public function index(): Response
{
$adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
return $this->redirect($adminUrlGenerator->setController(AffaireCrudController::class)->generateUrl());
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('Affaires EGEH');
}
public function configureMenuItems(): iterable
{
yield MenuItem::section('Gestion');
yield MenuItem::linktoDashboard('Affaires', 'fa fa-home');
yield MenuItem::linkToCrud('Clients', 'fa fa-address-card', Client::class);
yield MenuItem::linkToCrud('Fournisseurs', 'fa fa-address-card', Fournisseur::class);
yield MenuItem::section('Admin');
yield MenuItem::linkToCrud('Catégories', 'fa fa-tags', CategorieAffaire::class);
yield MenuItem::linkToCrud('Propositions', 'fa fa-tags', PropositionOrigine::class);
yield MenuItem::linkToCrud('Agences', 'fa fa-city', Agence::class);
yield MenuItem::linkToCrud('Collaborateurs', 'fas fa-user', User::class);
yield MenuItem::linkToCrud('Types clients', 'fas fa-user', TypeClient::class);
}
public function configureCrud(): Crud
{
return Crud::new()
->setPaginatorPageSize(30)
;
}
public function configureAssets(): Assets
{
return Assets::new()
->addCssFile('css/style-egeh.css')
->addJsFile('js/egeh.js')
;
}
}