timelineBuilder = $timelineBuilder; $this->paginatorFactory = $paginatorFactory; $this->security = $security; } /** * @Route("/{_locale}/center/timeline", * name="chill_center_timeline", * methods={"GET"} * ) */ public function centerAction(Request $request) { // collect reachable center for each group $user = $this->security->getUser(); $centers = []; foreach ($user->getGroupCenters() as $group) { $centers[] = $group->getCenter(); } if (0 === count($centers)) { throw $this->createNotFoundException(); } $nbItems = $this->timelineBuilder->countItems( 'center', ['centers' => $centers] ); $paginator = $this->paginatorFactory->create($nbItems); return $this->render( '@ChillMain/Timeline/index.html.twig', [ 'timeline' => $this->timelineBuilder->getTimelineHTML( 'center', ['centers' => $centers], $paginator->getCurrentPage()->getFirstItemNumber(), $paginator->getItemsPerPage() ), 'nb_items' => $nbItems, 'paginator' => $paginator, ] ); } }