<?php
namespace App\Controller\Admin;
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;
use App\Entity\User;
use App\Entity\Reseau;
use App\Entity\ReseauDivision;
use App\Entity\Garantie;
use App\Entity\StructureCotisation;
use App\Entity\Offre;
use App\Entity\OffreDocumentContractuel;
use App\Entity\DocumentControle;
use App\Entity\Dossier;
use App\Entity\statutDossier;
use App\Entity\Commercial;
use App\Entity\Activite;
use App\Entity\Entreprise;
use App\Entity\DocumentContractuel;
use App\Entity\Commune;
use App\Entity\PaiementType;
use App\Entity\Notification;
use App\Entity\NotificationTemplate;
class DashboardController extends AbstractDashboardController
{
/**
* @Route("/admin", name="admin")
* is_granted('ROLE_ADMIN')
*/
public function index(): Response
{
// redirect to some CRUD controller
$routeBuilder = $this->get(AdminUrlGenerator::class);
return $this->redirect($routeBuilder->setController(UserCrudController::class)->generateUrl());
//return parent::index();
//return $this->render('admin/dashboard.html.twig');
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
// the name visible to end users
->setTitle('MACIF ExtraMEG')
// you can include HTML contents too (e.g. to link to an image)
//->setTitle('<img src="/images/Logo_Macif.svg"> MACIF <span class="text-small">ExtraMEG</span>')
// the path defined in this method is passed to the Twig asset() function
->setFaviconPath('favicon.svg')
// the domain used by default is 'messages'
->setTranslationDomain('app')
// there's no need to define the "text direction" explicitly because
// its default value is inferred dynamically from the user locale
->setTextDirection('ltr')
// set this option if you prefer the page content to span the entire
// browser width, instead of the default design which sets a max width
->renderContentMaximized()
// set this option if you prefer the sidebar (which contains the main menu)
// to be displayed as a narrow column instead of the default expanded design
//->renderSidebarMinimized()
// by default, all backend URLs include a signature hash. If a user changes any
// query parameter (to "hack" the backend) the signature won't match and EasyAdmin
// triggers an error. If this causes any issue in your backend, call this method
// to disable this feature and remove all URL signature checks
->disableUrlSignatures()
// by default, all backend URLs are generated as absolute URLs. If you
// need to generate relative URLs instead, call this method
->generateRelativeUrls()
;
}
public function configureMenuItems(): iterable
{
yield MenuItem::linktoDashboard('Dashboard', 'fa fa-home');
yield MenuItem::section('Admin');
yield MenuItem::linkToCrud('Utilisateurs', 'fas fa-list', User::class);
yield MenuItem::section('Paramétrage');
yield MenuItem::linkToCrud('Documents contractuels', 'fas fa-list', DocumentContractuel::class);
yield MenuItem::linkToCrud('Contrôles et motif de refus', 'fas fa-list', DocumentControle::class);
yield MenuItem::linkToCrud('Offres', 'fas fa-list', Offre::class);
yield MenuItem::linkToCrud('Garanties', 'fas fa-list', Garantie::class);
yield MenuItem::linkToCrud('Structures de cotisation', 'fas fa-list', StructureCotisation::class);
yield MenuItem::linkToCrud('Types de paiement', 'fas fa-list', PaiementType::class);
//yield MenuItem::linkToCrud('Communes', 'fas fa-list', Commune::class);
yield MenuItem::linkToCrud('Codes NAF/APE', 'fas fa-list', Activite::class);
yield MenuItem::linkToCrud('Modèles de notifications', 'fas fa-list', NotificationTemplate::class);
yield MenuItem::section('Entreprises');
yield MenuItem::linkToCrud('Entreprises', 'fas fa-list', Entreprise::class);
yield MenuItem::linkToCrud('Dossiers', 'fas fa-list', Dossier::class);
yield MenuItem::linkToCrud('Notifications', 'fas fa-list', Notification::class);
yield MenuItem::section('Réseaux de commercialisation');
yield MenuItem::linkToCrud('Réseaux', 'fas fa-list', Reseau::class);
yield MenuItem::linkToCrud('Divisions', 'fas fa-list', ReseauDivision::class);
yield MenuItem::linkToCrud('Commerciaux', 'fas fa-list', Commercial::class);
}
}