public function indexAction(Request $request) { $repository = $this->em->getRepository(Job::class); $lastJob = $repository->latestJob(); if ($lastJob !== null) { $project = $lastJob->getBuild()->getProject(); return ControllerHelper::forward($request, $this->httpKernel, 'controller.project:viewAction', ['id' => $project->getId()]); } return $this->templating->renderResponse(self::INDEX_TEMPLATE); }
public function createAction(Request $request, $id) { /** @var Project $project */ $project = $this->em->getRepository(Project::class)->find($id); ControllerHelper::checkEntityExists($project); switch ($project->getRepositoryType()) { case RepositoryType::GITHUB: return ControllerHelper::forward($request, $this->httpKernel, 'controller.build.github:createAction', ['id' => $project->getId()]); case RepositoryType::GITLAB: return ControllerHelper::forward($request, $this->httpKernel, 'controller.build.gitlab:createAction', ['id' => $project->getId()]); default: throw new \LogicException(sprintf("Unknown project type: %s", $project->getRepositoryType())); } }