/** * @param Request $request * * @return RedirectResponse|Response */ public function updateAction(Request $request) { $resource = $this->findOr404($request); $form = $this->getForm($resource); if (in_array($request->getMethod(), array('POST', 'PUT', 'PATCH')) && $form->submit($request, !$request->isMethod('PATCH'))->isValid()) { $this->domainManager->update($resource); if ($this->config->isApiRequest()) { return $this->handleView($this->view($resource, 204)); } return $this->redirectHandler->redirectTo($resource); } if ($this->config->isApiRequest()) { return $this->handleView($this->view($form)); } $view = $this->view()->setTemplate($this->config->getTemplate('update.html'))->setData(array($this->config->getResourceName() => $resource, 'form' => $form->createView())); return $this->handleView($view); }
/** * @param Request $request * * @return RedirectResponse|Response */ public function updateAction(Request $request) { $this->isGrantedOr403('update'); $resource = $this->findOr404($request); $form = $this->getForm($resource); if (in_array($request->getMethod(), array('POST', 'PUT', 'PATCH')) && $form->submit($request, !$request->isMethod('PATCH'))->isValid()) { $resource = $this->domainManager->update($resource); if ($this->config->isApiRequest()) { if ($resource instanceof ResourceEvent) { throw new HttpException($resource->getErrorCode(), $resource->getMessage()); } return $this->handleView($this->view($resource, 204)); } if ($resource instanceof ResourceEvent) { return $this->redirectHandler->redirectToIndex(); } return $this->redirectHandler->redirectTo($resource); } if ($this->config->isApiRequest()) { return $this->handleView($this->view($form, 400)); } $view = $this->view()->setTemplate($this->config->getTemplate('update.html'))->setData(array($this->config->getResourceName() => $resource, 'form' => $form->createView())); return $this->handleView($view); }