public function indexAction($type, Push $push, $order, Request $request) { $push_rep = $this->getDoctrine()->getRepository('Mrk\\GitPushWatcherBundle\\Entity\\Push'); $author_rep = $this->getDoctrine()->getRepository('Mrk\\GitPushWatcherBundle\\Entity\\Author'); $authors = $author_rep->findAuthors(); $search = new PushSearch(); switch ($type) { case 'project': $value = $push->getProject(); break; case 'path': $value = $push->getPath(); break; } $search->setType($type, $value); $search->setOrderValue($order); if ($request->query->has('author')) { $search->setAuthor($request->query->get('author')); } if ($request->query->has('pattern')) { $search->setPattern($request->query->get('pattern')); } $list = $push_rep->search($search); $vars = ['type' => $search->getType(), 'push' => $push, 'list' => $list, 'authors' => $authors, 'search' => $search]; return $this->render('MrkGitPushWatcherBundle:Browse:index.html.twig', $vars); }