index->getRepository($repository); $form = $this->formFactory->create(CriteriaType::class, new Criteria()); return new Response($this->templating->render('Search/form.html.twig', [ 'repository' => $repository, 'commitish' => $commitish, 'form' => $form->createView(), ])); } public function showResults(Request $request, string $repository, string $commitish): Response { $criteria = new Criteria(); $criteria->setMessage($request->request->get('query', '')); $form = $this->formFactory->create(CriteriaType::class, $criteria); $form->handleRequest($request); if ($form->isSubmitted() && !$form->isValid()) { foreach ($form->getErrors(true) as $error) { $request->getSession()->getFlashBag()->add('danger', $error->getMessage()); } return new RedirectResponse($this->router->generate('repository_tree', [ 'repository' => $repository, 'commitish' => $commitish, ])); } $repository = $this->index->getRepository($repository); $commits = $repository->searchCommits($form->getData(), $commitish); $commitGroups = []; foreach ($commits as $commit) { $commitGroups[$commit->getCommitedAt()->format('Y-m-d')][] = $commit; } return new Response($this->templating->render('Search/list.html.twig', [ 'repository' => $repository, 'commitGroups' => $commitGroups, 'commitish' => $commitish, ])); } }