/** * Creates a new Turn entity. * * @Route("/new/{id}", name="turn_new") * @Method({"GET", "POST"}) * @Template("AppBundle:turn:new.html.twig") */ public function newAction(Request $request, Game $game) { if (!$game->belongsTo($this->getUser())) { return $this->redirectToRoute('homepage'); } $turn = (new Turn())->setGame($game); $form = $this->createForm(get_class(new TurnType()), $turn); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $turn->setUpdatedAt(new \DateTime()); $em = $this->getDoctrine()->getManager(); $em->persist($turn); $em->flush(); if ($turn->getShareLink() !== '0') { $turn->generateShareLink(); $em->persist($turn); $em->flush(); } return $this->redirectToRoute('turn_show', array('id' => $turn->getId())); } return array('turn' => $turn, 'form' => $form->createView()); }
/** * Deletes a Game entity. * * @Route("/{id}/delete", name="game_delete") * @Method("GET") * @TODO: switch to DELETE method */ public function deleteAction(Request $request, Game $game) { if (!$game->belongsTo($this->getUser())) { return $this->redirectToRoute('homepage'); } $form = $this->createDeleteForm($game); $form->handleRequest($request); if ($game->getUser()->getId() === $this->getUser()->getId()) { $em = $this->getDoctrine()->getManager(); $em->remove($game); $em->flush(); } return $this->redirectToRoute('homepage'); }