getDoctrine()->getManager(); $films = $em->getRepository('App:Film')->findBy([], [ 'brand' => 'ASC', 'productLine' => 'ASC', 'filmFormat' => 'ASC', ]); return $this->render('film/index.html.twig', array( 'films' => $films, )); } /** * Creates a new film entity. * * @Route("/new", name="film_new", methods={"GET", "POST"}) */ public function newAction(Request $request) { $film = new Film(); $form = $this->createForm(FilmType::class, $film); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($film); $em->flush(); return $this->redirectToRoute('film_show', array('id' => $film->getId())); } return $this->render('film/new.html.twig', array( 'film' => $film, 'form' => $form->createView(), )); } /** * Finds and displays a film entity. * * @Route("/{id}", name="film_show", methods={"GET"}) */ public function showAction(Film $film) { $deleteForm = $this->createDeleteForm($film); return $this->render('film/show.html.twig', array( 'film' => $film, 'delete_form' => $deleteForm->createView(), )); } /** * Displays a form to edit an existing film entity. * * @Route("/{id}/edit", name="film_edit", methods={"GET", "POST"}) * @throws \LogicException */ public function editAction(Request $request, Film $film) { $deleteForm = $this->createDeleteForm($film); $editForm = $this->createForm(FilmType::class, $film); $editForm->handleRequest($request); if ($editForm->isSubmitted() && $editForm->isValid()) { $this->getDoctrine()->getManager()->flush(); return $this->redirectToRoute('film_edit', array('id' => $film->getId())); } return $this->render('film/edit.html.twig', array( 'film' => $film, 'edit_form' => $editForm->createView(), 'delete_form' => $deleteForm->createView(), )); } /** * Deletes a film entity. * * @Route("/{id}", name="film_delete", methods={"DELETE"}) * @throws \LogicException */ public function deleteAction(Request $request, Film $film) { $form = $this->createDeleteForm($film); $form->handleRequest($request); $em = $this->getDoctrine()->getManager(); $em->remove($film); $em->flush(); return $this->redirectToRoute('film_index'); } /** * Creates a form to delete a film entity. * * @param Film $film The film entity * * @return \Symfony\Component\Form\FormInterface The form */ private function createDeleteForm(Film $film): FormInterface { return $this->createFormBuilder() ->setAction($this->generateUrl('film_delete', ['id' => $film->getId()])) ->setMethod('DELETE') ->getForm(); } }