src/Controller/Admin/DashboardController.php line 61

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Controller\Admin\CompanyMeceneCrudController;
  4. use App\Controller\Admin\AcceptedMecenatCrudController;
  5. use App\Controller\Admin\CollaboratorVolunteerCrudController;
  6. use App\Entity\Collaborator;
  7. use App\Entity\CommentMecenat;
  8. use App\Entity\Company;
  9. use App\Entity\CompanyMecene;
  10. use App\Entity\Consultant;
  11. use App\Entity\Mecenat;
  12. use App\Entity\Offer;
  13. use App\Entity\SectorActivity;
  14. use App\Entity\SkillCollaborator;
  15. use App\Entity\User;
  16. use App\Repository\CollaboratorRepository;
  17. use App\Repository\CompanyMeceneRepository;
  18. use App\Repository\CompanyRepository;
  19. use App\Repository\ConsultantRepository;
  20. use App\Repository\MecenatRepository;
  21. use EasyCorp\Bundle\EasyAdminBundle\Config\Dashboard;
  22. use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
  23. use EasyCorp\Bundle\EasyAdminBundle\Controller\AbstractDashboardController;
  24. use App\Repository\OfferRepository;
  25. use Symfony\Component\HttpFoundation\Response;
  26. use Symfony\Component\Routing\Annotation\Route;
  27. class DashboardController extends AbstractDashboardController
  28. {
  29.     private $companyMeceneRepo,$collaboratorRepo,$companyQpvRepo,$mecenatRepo;
  30.     public function __construct
  31.         CompanyMeceneRepository $companyMeceneRepo,
  32.         CollaboratorRepository $collaboratorRepo,
  33.         CompanyRepository $companyQpvRepo,
  34.         MecenatRepository $mecenatRepo,
  35.         ConsultantRepository $consultantRepo,
  36.         OfferRepository $offerRepo
  37.         
  38.         )
  39.     {
  40.       
  41.         $this->companyMeceneRepo $companyMeceneRepo;
  42.         $this->collaboratorRepo $collaboratorRepo;
  43.         $this->companyQpvRepo $companyQpvRepo;
  44.         $this->consultantRepo =$consultantRepo;
  45.         $this->mecenatRepo =$mecenatRepo;
  46.          $this->offerRepo $offerRepo;
  47.     }
  48.     #[Route('/'name'admin')]
  49.     public function index(): Response
  50.     {
  51.         
  52.       //  $adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
  53.        // return $this->redirect($adminUrlGenerator->setController(MecenatCrudController::class)->generateUrl());
  54.        $companiesMecene $this->companyMeceneRepo->findAll();
  55.        $collaborators $this->collaboratorRepo->findAll();
  56.        $companiesQpv $this->companyQpvRepo->findAll();
  57.        $consultants $this->consultantRepo->findAll();
  58.        $mecenats $this->mecenatRepo->findAll();
  59.        $mecenatsEncours $this->mecenatRepo->MecenatEncours();
  60.     $nombreOffers $this->offerRepo->findAll();
  61.     $nombreFinalisedOffers $this->offerRepo->findFinalisedOffers();
  62.        $pendingOffers $this->offerRepo->findPendingOffers();
  63.        
  64.         return $this->render('bundles/EasyAdminBundle/welcome.html.twig',[
  65.             'companiesMecene'=>$companiesMecene,
  66.             'collaborators'=>$collaborators,
  67.             'companiesQpv'=>$companiesQpv,
  68.             'mecenats'=> $mecenats,
  69.             'consultants'=> $consultants
  70.             'mecenatsEncours'=> $mecenatsEncours
  71.             'nombreOffers' => $nombreOffers,
  72.            'nombreFinalisedOffers' => $nombreFinalisedOffers,
  73.             "pendingOffre" => $pendingOffers
  74.             
  75.             
  76.         ]);
  77.         return parent::index();
  78.         //return parent::index();
  79.         // Option 1. You can make your dashboard redirect to some common page of your backend
  80.         //
  81.         // $adminUrlGenerator = $this->container->get(AdminUrlGenerator::class);
  82.         // return $this->redirect($adminUrlGenerator->setController(OneOfYourCrudController::class)->generateUrl());
  83.         // Option 2. You can make your dashboard redirect to different pages depending on the user
  84.         //
  85.         // if ('jane' === $this->getUser()->getUsername()) {
  86.         //     return $this->redirect('...');
  87.         // }
  88.         // Option 3. You can render some custom template to display a proper dashboard with widgets, etc.
  89.         // (tip: it's easier if your template extends from @EasyAdmin/page/content.html.twig)
  90.         //
  91.         // return $this->render('some/path/my-dashboard.html.twig');
  92.     }
  93.     public function configureDashboard(): Dashboard
  94.     {
  95.         return Dashboard::new()
  96.             ->setTitle('<img width="130px" style="margin:10px 0 0 40px;" src="assets/images/logo.png" />
  97.                         </br>
  98.                         <div class="badge badge-primary text-center d-block mt-2 "  style="font-weight: 600;" >ADMIN</div>
  99.             ')
  100.             ->setTranslationDomain("admin")
  101.             ;
  102.     }
  103.     public function configureMenuItems(): iterable
  104.     {
  105.       
  106.         yield MenuItem::linkToDashboard('Dashboard''fa fa-home');
  107.         
  108.         yield MenuItem::section('Gestion Mecenats');
  109.         yield MenuItem::linkToCrud('Entreprises mécènes''fas fa-file-invoice'CompanyMecene::class)->setController(CompanyMeceneCrudController::class);
  110.         yield MenuItem::linkToCrud('Collaborateurs mécènes''fas fa-hand-holding-usd'Collaborator::class)->setController(CollaboratorCrudController::class);
  111.         yield MenuItem::linkToCrud('Collaborateurs bénévoles''fas fa-hand-holding-usd''#')->setController(CollaboratorVolunteerCrudController::class);
  112.         yield MenuItem::linkToCrud('Entreprise QPV''fas fa-building'Company::class)->setController(CompanyCrudController::class);
  113.         yield MenuItem::linkToCrud('Liste des demandes de mécénat''fas fa-file-invoice',Mecenat::class)->setController(MecenatCrudController::class);
  114.         yield MenuItem::linkToCrud('Missions mécénats en cours''fas fa-user-tie'Mecenat::class)->setController(AcceptedMecenatCrudController::class);
  115.         yield MenuItem::linkToCrud('Missions mécénat finalisés''fas fa-user-tie'Mecenat::class)->setController(FinishedMecenatCrudController::class);
  116.       
  117.         yield MenuItem::linkToCrud('Commentaires''fas fa-building'CommentMecenat::class);
  118.         yield MenuItem::linkToCrud('Attestations de mécénat''fas fa-user-tie'Mecenat::class)->setController(FinishedMecenatCrudController::class);
  119.        
  120.         yield MenuItem::section("Consultation de spécialistes");
  121.         yield MenuItem::linkToCrud('Les spécialistes''fas fa-users'Consultant::class)->setController(ConsultantCrudController::class);
  122.         yield MenuItem::linktoRoute('Spécialistes''fas fa-users''specialists_company');
  123.         yield MenuItem::linkToCrud('Liste des consultations''fas fa-file-invoice'Offer::class)->setController(OfferCrudController::class);
  124.         yield MenuItem::linkToCrud('Devis émis''fas fa-file-invoice'Devis::class)->setController(DevisCrudController::class);
  125.         yield MenuItem::linkToCrud('Factures émises''fas fa-file-invoice'Invoice::class)->setController(InvoiceCrudController::class);
  126.         yield MenuItem::linkToCrud('Gérer et modifier des spécialistes''fas fa-user-check'Consultant::class)->setController(ConsultantCrudController::class);
  127.         
  128.         yield MenuItem::section('Systeme');
  129.         yield MenuItem::linkToUrl('Paramètres''fas fa-gears''#');
  130.         yield MenuItem::linkToCrud('Compétences''fas fa-building'SkillCollaborator::class);
  131.         yield MenuItem::linkToCrud('Secteurs d\'activités''fas fa-building'SectorActivity::class);
  132.         yield MenuItem::linkToCrud('Utilisateurs''fas fa-user-shield'User::class)->setController(UserCrudController::class);
  133.         yield MenuItem::linktoRoute('Vidéo Centre d’aide''fa fa-video''video_Centre_daide');
  134.         yield MenuItem::linkToUrl('QPV Liste'"fas fa-link""https://qpvlist.gebanalysis.cloud")->setLinkTarget('_blanc');
  135.        // yield MenuItem::linkToCrud('QPV', 'fas fa-users', Consultant::class)->setController(Consultant2CrudController::class);
  136.         
  137.         
  138.         
  139.         
  140.         
  141.         }}
  142.