コード例 #1
0
 /**
  * Creates a new Person entity.
  *
  * @Route("/step/1", name="person_create")
  *
  */
 public function createPersonAction(Request $request)
 {
     if (!$request->isXmlHttpRequest()) {
         return new JsonResponse(['message' => 'You can access this only using Ajax!'], 400);
     }
     $entity = new Person();
     $entity->setIpAddress(ip2long($request->getClientIp()));
     $form = $this->createPersonForm($entity);
     $form->handleRequest($request);
     if ($request->isMethod('POST')) {
         if ($form->isValid()) {
             $em = $this->getDoctrine()->getManager();
             $em->persist($entity);
             $em->flush();
             return new JsonResponse(['message' => 'Success!', 'id' => $entity->getId(), 'step' => 2], 200);
         }
     } else {
         return $response = new JsonResponse(['form' => $this->renderView(':form:personInfo.html.twig', ['entity' => $entity, 'form' => $form->createView()])], 200);
     }
     $response = new JsonResponse(['message' => 'Error', 'form' => $this->renderView(':form:formBody.html.twig', ['entity' => $entity, 'form' => $form->createView()])], 400);
     return $response;
 }