Esempio n. 1
0
 public function createQuestionAction(Request $request)
 {
     if (!$request->isXmlHttpRequest()) {
         throw $this->createNotFoundException();
     }
     /** @var \Doctrine\ORM\EntityManager $em */
     $em = $this->get('doctrine.orm.entity_manager');
     $user = $this->getUser();
     $question = new RiskQuestion();
     // Add one empty answer row
     $answer = new RiskAnswer();
     $question->addAnswer($answer);
     $form = $this->createForm(new RiskQuestionFormType(), $question);
     if ($request->isMethod('post')) {
         $form->bind($request);
         if ($form->isValid()) {
             $question = $form->getData();
             $question->setOwner($user);
             $em->persist($question);
             foreach ($question->getAnswers() as $answer) {
                 $answer->setQuestion($question);
                 $em->persist($answer);
             }
             $em->flush();
             return $this->getJsonResponse(array('status' => 'success', 'new_row' => $this->renderView('WealthbotRiaBundle:Risks:_question_row.html.twig', array('question' => $question))));
         } else {
             return $this->getJsonResponse(array('status' => 'error', 'form' => $this->renderView('WealthbotRiaBundle:Risks:_question_form.html.twig', array('form' => $form->createView()))));
         }
     }
     return $this->getJsonResponse(array('status' => 'success', 'content' => $this->renderView('WealthbotRiaBundle:Risks:_question_form.html.twig', array('form' => $form->createView()))));
 }