src/Controller/Admin/DashboardAdminController.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Theme;
  4. use App\Entity\Societe;
  5. use App\Entity\Systeme;
  6. use App\Entity\Typetext;
  7. use App\Entity\Departement;
  8. use App\Controller\Admin\UserCrudController;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use App\Controller\Admin\SocieteCrudController;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use EasyCorp\Bundle\EasyAdminBundle\Config\Assets;
  13. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  14. use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
  15. use App\Entity\PartiePrenante;
  16. use App\Entity\User;
  17. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  18. use Symfony\Component\Security\Core\User\UserInterface;
  19. use EasyCorp\Bundle\EasyAdminBundle\Router\CrudUrlGenerator;
  20. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  21. class DashboardAdminController extends AbstractDashboardController
  22. {
  23.     private $crudUrlGenerator;
  24.     public function __construct(CrudUrlGenerator $crudUrlGenerator)
  25.     {
  26.         $this->crudUrlGenerator $crudUrlGenerator;
  27.     }
  28.     /**
  29.      * @Route("/admin", name="admin")
  30.      */
  31.     public function index(): Response
  32.     {
  33.         // redirect to some CRUD controller
  34.         $routeBuilder $this->crudUrlGenerator->build();
  35.         return $this->redirect($routeBuilder->setController(TextLoiCrudController::class)->generateUrl());
  36.     }
  37.     
  38.     public function configureDashboard(): Dashboard
  39.     {
  40.         return Dashboard::new()
  41.                //->setTitle('<img src="images/logosm.png"> HSE Conform Administrateur')
  42.                //->setTitle('<div class="p-3 mb-2 bg-primary text-white">HSE Conform</div>')
  43.                ->setTitle('<strong style="background: linear-gradient(to right, #000,#36ecde);
  44.                                                    -webkit-background-clip: text;
  45.                                                    -webkit-text-fill-color: transparent;
  46.                                                    letter-spacing:5px;
  47.                                                    text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
  48.                                                    font-size: 40px;"> HSE Conform (Admin)</strong>'//: '.$this->societe->getName().'</h1><span class="text-small"></span>')
  49.            
  50.                ->setFaviconPath('images/logosm.png')
  51.                ;
  52.     }
  53.     public function configureMenuItems(): iterable
  54.     {
  55.         yield MenuItem::linktoDashboard('Base Générale''fas fa-database');
  56.         yield MenuItem::linkToCrud('Societés''fas fa-building'Societe::class)->setController(SocieteCrudController::class);
  57.         yield MenuItem::linkToCrud('Departements''fas fa-map'Departement::class);
  58.         yield MenuItem::linkToCrud('Thèmes''fas fa-list'Theme::class);
  59.         yield MenuItem::linkToCrud('Types de Text''fas fa-border-style'Typetext::class);
  60.         yield MenuItem::linkToCrud('Systèmes''fab fa-accusoft'Systeme::class);
  61.         yield MenuItem::linkToCrud('Parties Prenantes''fab fa-accusoft'PartiePrenante::class);
  62.       //  yield MenuItem::linkToCrud('Utilisateurs', 'fas fa-user', User::class)->setController(UserCrudController::class);
  63.         yield MenuItem::linkToLogout('Déconnection''fas fa-sign-out-alt');
  64.         // Tache administratives (TacheAdminController)
  65.         //yield MenuItem::linkToRoute('verifier fichier source', 'fas fa-tasks','tache_admin_verifsource');
  66.         // yield MenuItem::linkToRoute('Création dossier pj', 'fas fa-tasks','tache_admin_dossierpj');
  67.         yield MenuItem::linkToRoute('Test envoi mail''fas fa-tasks','app_send_email');
  68.         yield MenuItem::linkToRoute('liste societes''fas fa-tasks','app_test_societes');
  69.     }
  70.     public function configureUserMenu(UserInterface $user): UserMenu
  71.     {
  72.         // Vérifier si $user est une instance de User
  73.         if (!$user instanceof User) {
  74.             throw new \LogicException('L\'utilisateur connecté n\'est pas une instance de User.');
  75.         }
  76.         return parent::configureUserMenu($user)
  77.             ->setName($user->getUsername())
  78.             ->setGravatarEmail($user->getSociete() ? $user->getSociete()->getEmail() : '');
  79.     }
  80.     
  81.     public function configureAssets(): Assets
  82.     {
  83.         return Assets::new()->addCssFile('css/admin.css');
  84.     }
  85.     
  86.     
  87. }