src/Controller/Admin/DashboardController.php line 39
<?phpnamespace App\Controller\Admin;use App\Entity\ActionShock;use App\Entity\AdditionalCompanyInformation;use App\Entity\BrandDiscount;use App\Entity\CartFinished;use App\Entity\ConfigSite;use App\Entity\DeliveryAddress;use App\Entity\Invoices;use App\Entity\Joker;use App\Entity\LotNumber;use App\Entity\Products;use App\Entity\ProductsAnalysis;use App\Entity\Rebate;use App\Entity\SpecialCustomer;use App\Entity\SpecialDiscount;use App\Entity\User;use App\Entity\Videos;use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;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{private $entityManager;public function __construct(\Doctrine\ORM\EntityManagerInterface $entityManager){$this->entityManager = $entityManager;}#[Route('/admin', name: 'admin')]public function index(): Response{$adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);return $this->redirect($adminUrlGenerator->setController(UserCrudController::class)->generateUrl());}public function configureDashboard(): Dashboard{return Dashboard::new()->setTitle('B2B');}public function configureAssets(): Assets{return Assets::new()->addCssFile('css/admin/admin-password-toggle.css')->addCssFile('css/admin/custom-badge.css')->addJsFile('js/admin/admin-password-toggle.js');}public function configureMenuItems(): iterable{yield MenuItem::linkToUrl('Vers le site', "fa fa-globe", '/');if (in_array('ROLE_ADMIN', $this->getUser()->getRoles())) {yield MenuItem::section('Gestion Produit');yield MenuItem::linkToCrud('Produits', 'fa fa-archive', Products::class);yield MenuItem::linkToCrud('Analyses produits', 'fa fa-archive', ProductsAnalysis::class);yield MenuItem::linkToCrud('Promotions', 'fa fa-shopping-basket', Rebate::class);yield MenuItem::linkToCrud('Promotions spéciales', 'fa fa-shopping-basket', SpecialDiscount::class);yield MenuItem::linkToCrud('Promotions marques', 'fa fa-shopping-basket', BrandDiscount::class);yield MenuItem::linkToCrud('Calendrier actions-choc', 'fa fa-calendar', ActionShock::class);yield MenuItem::linkToRoute('Remises Mercator', 'fa fa-percent', 'remises_mercator');yield MenuItem::linkToCrud('Numéro de lot', 'fa fa-bell', LotNumber::class);// yield MenuItem::linkToCrud('code-barre', 'fa fa-barcode', Barcode::class);yield MenuItem::section('Gestion Vidéos');yield MenuItem::linkToCrud('Vidéos', 'fa fa-video-camera', Videos::class);yield MenuItem::section('Gestion Facturation');yield MenuItem::linkToCrud('Commandes passées', 'fa fa-address-card', CartFinished::class);// yield MenuItem::linkToCrud('Tva', 'fa fa-area-chart', Tva::class);yield MenuItem::section('Gestion Client');yield MenuItem::linkToCrud('Facturations', 'fa fa-archive', Invoices::class);yield MenuItem::linkToCrud('Clients', 'fa fa-user', User::class);// Compter les nouveaux clients (inactifs)$newClientsCount = $this->entityManager->getRepository(User::class)->count(['active' => false]);yield MenuItem::linkToCrud('Nouveaux clients', 'fa fa-user-plus', User::class)->setController(NewClientCrudController::class)->setBadge($newClientsCount, $newClientsCount > 0 ? 'danger' : 'secondary');yield MenuItem::linkToCrud('Clients spéciaux', 'fa fa-user', SpecialCustomer::class);yield MenuItem::linkToCrud('Clients adresses', 'fa fa-address-card', DeliveryAddress::class);yield MenuItem::linkToCrud('Gestion pharmacie %', 'fa fa-plus-circle', User::class)->setController(User2CrudController::class);yield MenuItem::linkToCrud('Joker', 'fa fa-plane', Joker::class);yield MenuItem::linkToCrud('Informations entreprise', 'fa fa-address-card-o', AdditionalCompanyInformation::class);yield MenuItem::section('Mercator');yield MenuItem::linkToRoute('Sync Produits Mercator', 'fa fa-refresh', 'admin_sync_mercator');yield MenuItem::linkToRoute('Import Excel Mercator', 'fa fa-cogs', 'mercator');yield MenuItem::section('Mise à jour');yield MenuItem::linkToCrud('Configuration site', 'fa fa-address-card-o', ConfigSite::class);yield MenuItem::linkToRoute('Mise à jour des données', 'fa fa-cogs', 'updateProductEasyAdmin');} else {yield MenuItem::section('Gestion Client');yield MenuItem::linkToCrud('Clients', 'fa fa-user', User::class);yield MenuItem::linkToCrud('Informations entreprise', 'fa fa-address-card-o', AdditionalCompanyInformation::class);}}}