render('project/index.html.twig', [ 'projects' => $projectRepository->findAll(), ]); } #[Route('/new', name: 'app_project_new', methods: ['GET', 'POST'])] public function new(Request $request, ProjectRepository $projectRepository): Response { $project = new Project(); $form = $this->createForm(ProjectType::class, $project); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $projectRepository->save($project, true); return $this->redirectToRoute('app_project_index', [], Response::HTTP_SEE_OTHER); } return $this->renderForm('project/new.html.twig', [ 'project' => $project, 'form' => $form, ]); } #[Route('/{id}', name: 'app_project_show', methods: ['GET'])] public function show(Project $project): Response { return $this->render('project/show.html.twig', [ 'project' => $project, ]); } #[Route('/{id}/edit', name: 'app_project_edit', methods: ['GET', 'POST'])] public function edit(Request $request, Project $project, ProjectRepository $projectRepository): Response { $form = $this->createForm(ProjectType::class, $project); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $projectRepository->save($project, true); return $this->redirectToRoute('app_project_index', [], Response::HTTP_SEE_OTHER); } return $this->renderForm('project/edit.html.twig', [ 'project' => $project, 'form' => $form, ]); } #[Route('/{id}', name: 'app_project_delete', methods: ['POST'])] public function delete(Request $request, Project $project, ProjectRepository $projectRepository): Response { if ($this->isCsrfTokenValid('delete'.$project->getId(), $request->request->get('_token'))) { $projectRepository->remove($project, true); } return $this->redirectToRoute('app_project_index', [], Response::HTTP_SEE_OTHER); } }