/** * Create a new content entity through ajax modal * */ public function modalCreateAction(Request $request, ContentAdmin $admin) { $entity = $admin->buildEntity(); $this->secure($admin, 'ADMIN_CONTENT_CREATE', $entity); $form = $admin->getForm(); $form->setData($entity); $status = 200; if ('POST' === $request->getMethod()) { try { $this->save($request, $admin, $form, $entity); $result = array('entity_id' => $entity->getId(), 'entity_name' => $admin->getEntityName($entity)); return new JsonResponse(array('result' => $result), 201); } catch (ValidationException $e) { $status = 400; $this->buildEntityFlash('error', 'content.create.flash.error', $admin, $entity); $this->get('logger')->addError($e->getMessage()); } } $responseData = array('content' => $this->renderView('LeaptAdminBundle:' . StringUtil::camelize($admin->getAlias()) . ':modalCreate.html.twig', array('admin' => $admin, 'entity' => $entity, 'form' => $form->createView()))); return new JsonResponse($responseData, $status); }