/** * @param Request $request * * @return RedirectResponse|Response */ public function createAction(Request $request) { $resource = $this->createNew(); $form = $this->getForm($resource); if ($form->handleRequest($request)->isValid()) { $resource = $this->domainManager->create($resource); if ($this->config->isApiRequest()) { return $this->handleView($this->view($resource)); } if (null === $resource) { return $this->redirectHandler->redirectToIndex(); } return $this->redirectHandler->redirectTo($resource); } if ($this->config->isApiRequest()) { return $this->handleView($this->view($form)); } $view = $this->view()->setTemplate($this->config->getTemplate('create.html'))->setData(array($this->config->getResourceName() => $resource, 'form' => $form->createView())); return $this->handleView($view); }
/** * @param Request $request * * @return RedirectResponse|Response */ public function createAction(Request $request) { $this->isGrantedOr403('create'); $resource = $this->createNew(); $form = $this->getForm($resource); if ($request->isMethod('POST') && $form->submit($request)->isValid()) { $resource = $this->domainManager->create($form->getData()); if ($this->config->isApiRequest()) { if ($resource instanceof ResourceEvent) { throw new HttpException($resource->getErrorCode(), $resource->getMessage()); } return $this->handleView($this->view($resource, 201)); } 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('create.html'))->setData(array($this->config->getResourceName() => $resource, 'form' => $form->createView())); return $this->handleView($view); }