<?php
namespace App\Controller\Admin;
use App\Entity\Allergens;
use App\Entity\User;
use App\Repository\UserRepository;
use Symfony\Component\Security\Core\Security;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
class DashboardController extends AbstractDashboardController
{
protected $userRepository;
public function __construct(UserRepository $userRepository) {
$this->userRepository=$userRepository;
}
#[Route('/configuration', name: 'admin')]
#[Security("is_granted('ROLE_ADMIN')")]
public function index(): Response
{
return $this->render('admin/dashboard.html.twig',[
'nbUser'=>$this->userRepository->count([]),
'users'=>$this->userRepository->findAll() ]);
}
public function configureDashboard(): Dashboard
{
return Dashboard::new()
->setTitle('Comicarte');
}
public function configureMenuItems(): iterable
{
yield MenuItem::linkToDashboard('Dashboard', 'fa fa-home');
yield MenuItem::linkToCrud('Utilisateur', 'fas fa-user', User::class);
yield MenuItem::linkToCrud('Allergènes', 'fas fa-fork', Allergens::class);
}
}