em = $em; $this->formFactory = $formFactory; }*/ /** * @Route("/{_locale}/task/single-task/new") */ public function newAction(Request $request) { $personId = $request->query->getInt('person_id', null); if ($personId === null) { return new Response("You must provide a person_id", Response::HTTP_BAD_REQUEST); } $person = $this->getDoctrine()->getManager() ->getRepository(Person::class) ->find($personId); if ($person === null) { throw $this->createNotFoundException("Invalid person id"); } $task = (new SingleTask()) ->setPerson($person) ->setAssignee($this->getUser()) ->setType('task_default') ; $this->denyAccessUnlessGranted(TaskVoter::CREATE, $task, 'You are not ' . 'allowed to create this task'); $form = $this->createCreateForm($task); $form->handleRequest($request); if ($form->isSubmitted()) { if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($task); $this->addFlash('success', "The task is created"); $em->flush(); } else { $this->addFlash('error', "This form contains errors"); } } return $this->render('ChillTaskBundle:SingleTask:new.html.twig', array( 'form' => $form->createView(), 'task' => $task )); } /** * * @param SingleTask $task * @return \Symfony\Component\Form\FormInterface */ protected function createCreateForm(SingleTask $task) { $form = $this->createForm(SingleTaskType::class, $task, [ 'center' => $task->getCenter(), 'role' => new Role(TaskVoter::CREATE) ]); $form->add('submit', SubmitType::class); return $form; } }