Example #1
0
 /**
  * @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);
 }
Example #2
0
 /**
  * @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);
 }