示例#1
0
 /**
  * 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);
 }