src/Controller/admin/TableaudebordController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller\admin;
  3. use App\Constant\TheProperty\ThePropertyConstants;
  4. use App\Entity\Offer;
  5. use App\Entity\Plan\PlanSubscription;
  6. use App\Entity\TheProperty;
  7. use App\Entity\User;
  8. use Doctrine\ORM\EntityManagerInterface;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. /**
  13.  * @Route("/admin")
  14.  */
  15. class TableaudebordController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/", name="tableaudebord")
  19.      */
  20.     public function index(EntityManagerInterface $em): Response
  21.     {
  22.         $allPersonals $em->getRepository(User::class)->ListOfPersonnels();
  23.         $allClients $em->getRepository(User::class)->ListOfClients();
  24.         $allOffers $em->getRepository(Offer::class)->getoffernotarchive();
  25.         $propertiesWaiting $em->getRepository(TheProperty::class)->findBy(['status' => ThePropertyConstants::THE_PROPERTY_STATUS_WAITING]);
  26.         $propertiesValid $em->getRepository(TheProperty::class)->findBy(['status' => ThePropertyConstants::THE_PROPERTY_STATUS_VALID]);
  27.         $userSubscribed $em->getRepository(User::class)->findUserHavingActiveSubscriptions();
  28.         return $this->render('admin/tableaudebord/list.html.twig', [
  29.             'nbrpersonnels' => count($allPersonals),
  30.             'nbrclients' => count($allClients),
  31.             'nbroffres' => count($allOffers),
  32.             'nbrbienenattente' => count($propertiesWaiting),
  33.             'nbrbienvalider' => count($propertiesValid),
  34.             'numberUserSubscribed' => count($userSubscribed),
  35.         ]);
  36.     }
  37. }