src/Controller/TeamController.php line 36

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\PageType;
  4. use App\Repository\DepartmentRepository;
  5. use App\Repository\PageRepository;
  6. use App\Repository\TeamMemberRepository;
  7. use Knp\Component\Pager\PaginatorInterface;
  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('/team'name'app_team')]
  13. class TeamController extends AbstractController
  14. {
  15.     /**
  16.      * @var PageRepository
  17.      */
  18.     private $pageRepository;
  19.     private $departmentRepository;
  20.     private $teamMemberRepository;
  21.     public function __construct(
  22.         DepartmentRepository $departmentRepository,
  23.         PageRepository $pageRepository,
  24.         TeamMemberRepository $teamMemberRepository
  25.     ){
  26.         $this->departmentRepository $departmentRepository;
  27.         $this->pageRepository $pageRepository;
  28.         $this->teamMemberRepository $teamMemberRepository;
  29.     }
  30.     #[Route(''name'app_team_list')]
  31.     public function list(Request $requestPaginatorInterface $paginator): Response
  32.     {
  33.        $departments $this->departmentRepository->findAll();
  34. //        $queryBuilder = $this->pageRepository->getWithSearchQueryBuilder(PageType::MEDIA);
  35. //        $pagination = $paginator->paginate(
  36. //            $queryBuilder,
  37. //            $request->query->getInt('page', 1),
  38. //            1 /* Fixme: add constants as default value */
  39. //        );
  40.         $teamMembers $this->teamMemberRepository->findBy([], ['designation.priorityOrder' => 'ASC']);
  41.         return $this->render('team/index.html.twig',
  42.             [
  43.                 'departments' => $departments,
  44.                 'teamMembers' => $teamMembers,
  45.             ]
  46.         );
  47.     }
  48.     #[Route('/{urlTitle}'name'app_team_show')]
  49.     public function showstring $urlTitle): Response
  50.     {
  51.         // Fixme: we might not need this as we dont need to have team public page
  52.         $page $this->pageRepository->findOneBy(['urlTitle' => $urlTitle]);
  53.         return $this->render('page/index.html.twig', [
  54.             'controller_name' => 'TeamController',
  55.             'page' => $page,
  56.         ]);
  57.     }
  58. }