public function updateFormFieldElementAction(Request $request)
{
$objectId = $request->get('objectId');
$elementId = $request->get('elementId');
$uniqId = $request->get('uniqid');
$code = $request->get('code');
$post = $request->request->all();
if (empty($post)) {
$html = $this->getLayoutBlockFormWidget($objectId, $elementId, $uniqId, $code);
return new Response($html, 200);
}
$post = $request->request->all();
$post['page'] = $objectId;
$post['content'] = $this->cleanContentString($post['content']);
$layoutBlock = $this->admin->getObject($post['id']);
/** @var $form \Symfony\Component\Form\Form */
$form = $this->admin->getForm();
$form->setData($layoutBlock);
/** @var \Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider $csrf */
$csrf = $this->get('form.csrf_provider');
$token = $csrf->generateCsrfToken($form->getName());
$post['_token'] = $token;
unset($post['id']);
$request->request->set($this->admin->getUniqid(), $post);
$form->handleRequest($request);
if ($form->isValid()) {
$this->admin->update($layoutBlock);
$html = $this->getLayoutBlockFormWidget($objectId, $elementId, $uniqId, $code);
$status = 200;
return new Response($html, $status);
} else {
$this->error = true;
$response = new Response();
$response->setStatusCode(500);
}
$view = $form->createView();
// set the theme for the current Admin Form
$this->get('twig')->getExtension('form')->renderer->setTheme($view, $this->admin->getFormTheme());
return $this->render('NetworkingInitCmsBundle:PageAdmin:layout_block_fields.html.twig', array('form' => $view, 'object' => $layoutBlock, 'code' => $code, 'classType' => $request->get('classType'), 'objectId' => $objectId, 'uniqid' => $uniqId, 'elementId' => $elementId), $response);
}