src/Controller/Dashboard/Coach/CoachAccountController.php line 44

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller\Dashboard\Coach;
  4. use App\Entity\Experience;
  5. use App\Repository\UserRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. #[Route('/coach')]
  13. class CoachAccountController extends AbstractController
  14. {
  15.     #[Route('/mon-compte'name'coach_account'methods: ['GET'])]
  16.     public function overviewCoach(UserRepository $userRepository): Response
  17.     {
  18.         $coach $userRepository->find(1);
  19.         //$coach = $this->getUser();
  20.         return $this->render('coach/account/overview.html.twig',[
  21.             'coach' => $coach,
  22.         ]);
  23.     }
  24.     
  25.     #[Route('/mon-profile'name'coach_profile'methods: ['GET'])]
  26.     public function profileCoach(): Response{
  27.         $coach $this->getUser();
  28.         return $this->render('coach/account/profile.html.twig', [
  29.             'coach' => $coach,
  30.         ]);
  31.     }
  32.     #[Route('/mes-reservations'name'coach_reservation'methods: ['GET'])]
  33.     public function reservationCoach(): Response
  34.     {
  35.         return $this->render('admin/booking/coach/mesReservation.html.twig');
  36.     }
  37.     #[Route('/coach-faq'name'coach_faq'methods: ['GET'])]
  38.     public function questionnaireCoach(): Response{
  39.         return $this->render('coach/questionnaireCoach.html.twig');
  40.     }
  41.     #[Route('/mon-securite'name'coach_securite'methods: ['GET'])]
  42.     public function securiteCoach(): Response{
  43.         return $this->render('coach/account/securite.html.twig');
  44.     }
  45.     #[Route('/mes-experiences'name'coach_experiences_list'methods: ['GET'])]
  46.     public function listCoachExperiences(ManagerRegistry $doctrine): Response
  47.     {
  48.         $em   $doctrine->getManager();
  49.         $user $this->getUser();
  50.         $coachExperiences $em->getRepository(Experience::class)
  51.             ->createQueryBuilder('e')
  52.             ->andWhere('e.coach = :coach')
  53.             ->setParameter('coach'$user)
  54.             ->orderBy('e.id''DESC')
  55.             ->getQuery()
  56.             ->getResult();
  57.         return $this->render('coach/experience/mesExperiences.html.twig', [
  58.             'experiences' => $coachExperiences,
  59.         ]);
  60.     }
  61.     #[Route('/mes-clients'name'coach_customers'methods: ['GET'])]
  62.     public function coachCustomers(): Response
  63.     {
  64.         //$coach = $this->getUser();
  65.         //$qb = $em->createQueryBuilder()
  66.         // ->select('c')
  67.         // ->from(Booking::class, 'b')
  68.         // ->join('b.experience', 'e')
  69.         // ->andWhere('e.coach = :coach')
  70.         // ->join('b.user', 'c')
  71.         //->andWhere('c != :coach')
  72.         //->setParameter('coach', $coach)
  73.         //->groupBy('c.id')
  74.         // ->orderBy('c.lastname', 'ASC');
  75.         //$clients = $qb->getQuery()->getResult();
  76.         return $this->render('coach/customer/myCustomers.html.twig');
  77.     }
  78. }