public putPageAction ( |
||
$request | the request object | |
$id | integer | the Page id |
return | Symfony\Component\Form\FormTypeInterface | FOS\RestBundle\Controller\Annotations\View |
public function putPageAction(Request $request, $id)
{
if (!$this->isGranted('CREATE', new AdminPage())) {
throw new AccessDeniedException();
}
try {
if (!($entity = $this->container->get('ojs_api.page.handler')->get($id))) {
$statusCode = Codes::HTTP_CREATED;
$entity = $this->container->get('ojs_api.page.handler')->post($request->request->all());
} else {
$statusCode = Codes::HTTP_NO_CONTENT;
$entity = $this->container->get('ojs_api.page.handler')->put($entity, $request->request->all());
}
$routeOptions = array('id' => $entity->getId(), '_format' => $request->get('_format'));
return $this->routeRedirectView('api_1_get_page', $routeOptions, $statusCode);
} catch (InvalidFormException $exception) {
return $exception->getForm();
}
}