Example #1
0
 /**
  * @param FormInterface $form
  * @param object $entity
  * @param array|callable $saveAndStayRoute
  * @param array|callable $saveAndCloseRoute
  * @param string $saveMessage
  * @param callback|null $resultCallback
  * @return array|RedirectResponse
  */
 protected function processSave(FormInterface $form, $entity, $saveAndStayRoute, $saveAndCloseRoute, $saveMessage, $resultCallback = null)
 {
     if ($this->request->get('_wid')) {
         $result = $this->getResult($entity, $form, $resultCallback);
         $result['savedId'] = $this->doctrineHelper->getSingleEntityIdentifier($entity);
         return $result;
     } else {
         $this->session->getFlashBag()->add('success', $saveMessage);
         if (is_callable($saveAndStayRoute)) {
             $saveAndStayRoute = call_user_func($saveAndStayRoute, $entity);
         }
         if (is_callable($saveAndCloseRoute)) {
             $saveAndCloseRoute = call_user_func($saveAndCloseRoute, $entity);
         }
         return $this->router->redirectAfterSave($saveAndStayRoute, $saveAndCloseRoute, $entity);
     }
 }
Example #2
0
 public function testWrongParametersRedirectAfterSave()
 {
     $this->setExpectedException('\\InvalidArgumentException');
     $this->router->redirectAfterSave(array(), array());
 }