src/Controller/Admin/DashboardController.php line 46

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Activity;
  4. use App\Entity\Ad;
  5. use App\Entity\AdCategory;
  6. use App\Entity\Address;
  7. use App\Entity\Alert;
  8. use App\Entity\AlertCategory;
  9. use App\Entity\ClaimingRequest;
  10. use App\Entity\Club;
  11. use App\Entity\ClubPresentation;
  12. use App\Entity\Company;
  13. use App\Entity\Deal;
  14. use App\Entity\Keyword;
  15. use App\Entity\Photo;
  16. use App\Entity\Post;
  17. use App\Entity\ResetPasswordRequest;
  18. use App\Entity\User;
  19. use App\Entity\UserClub;
  20. use App\Entity\Widget;
  21. use App\Form\Admin\EditPasswordFormType;
  22. use App\Repository\UserRepository;
  23. use Doctrine\ORM\EntityManagerInterface;
  24. use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
  25. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  26. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  27. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  28. use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
  29. use Symfony\Component\Form\Exception\LogicException;
  30. use Symfony\Component\Form\Exception\RuntimeException;
  31. use Symfony\Component\HttpFoundation\Request;
  32. use Symfony\Component\HttpFoundation\Response;
  33. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  34. use Symfony\Component\Routing\Annotation\Route;
  35. class DashboardController extends AbstractDashboardController
  36. {
  37.     public function __construct(
  38.         private readonly UserPasswordHasherInterface $passwordHasher,
  39.         private readonly EntityManagerInterface $em,
  40.     ) {
  41.     }
  42.     #[Route('/admin'name'admin')]
  43.     public function index(): Response
  44.     {
  45.         $adminUrlGenerator $this->container->get(AdminUrlGenerator::class);
  46.         return $this->redirect($adminUrlGenerator->setController(UserCrudController::class)->generateUrl());
  47.     }
  48.     public function configureDashboard(): Dashboard
  49.     {
  50.         return Dashboard::new()
  51.             ->setTitle('Assopro');
  52.     }
  53.     public function configureMenuItems(): iterable
  54.     {
  55.         yield MenuItem::linkToDashboard('Dashboard''fa fa-home');
  56.         yield MenuItem::linkToCrud('Users''fas fa-list'User::class);
  57.         yield MenuItem::linkToCrud('Clubs''fas fa-list'Club::class);
  58.         yield MenuItem::linkToCrud('Companies''fas fa-list'Company::class);
  59.         yield MenuItem::linkToCrud('Activities''fas fa-list'Activity::class);
  60.         yield MenuItem::linkToCrud('Photos''fas fa-list'Photo::class);
  61.         yield MenuItem::linkToCrud('ResetPasswordReqs''fas fa-list',  ResetPasswordRequest::class);
  62.         yield MenuItem::linkToCrud('Posts''fas fa-list'Post::class);
  63.         yield MenuItem::linkToCrud('Ads''fas fa-list'Ad::class);
  64.         yield MenuItem::linkToCrud('AdCategories''fas fa-list'AdCategory::class);
  65.         yield MenuItem::linkToCrud('Address''fas fa-list'Address::class);
  66.         yield MenuItem::linkToCrud('Keywords''fas fa-list'Keyword::class);
  67.         yield MenuItem::linkToCrud('Widget''fas fa-list'Widget::class);
  68.         yield MenuItem::linkToCrud('Claiming Request''fas fa-list'ClaimingRequest::class);
  69.         yield MenuItem::linkToCrud('Deals''fas fa-list'Deal::class);
  70.         yield MenuItem::linkToCrud('Alerts''fas fa-list'Alert::class);
  71.         yield MenuItem::linkToCrud('AlertCategories''fas fa-list'AlertCategory::class);
  72.         yield MenuItem::linkToCrud('ClubPresentation''fas fa-list'ClubPresentation::class);
  73.         yield MenuItem::section('---');
  74.         yield MenuItem::linkToRoute('Retour à l\'application''fa fa-reply''home');
  75.     }
  76. }