/** * @Route("/add", name="icap_portfolio_add") * * @ParamConverter("loggedUser", options={"authenticatedUser" = true}) * @Template() */ public function addAction(Request $request, User $loggedUser) { $this->checkPortfolioToolAccess(); $portfolio = new Portfolio(); $portfolio->setUser($loggedUser); try { if ($this->getPortfolioFormHandler()->handleAdd($portfolio)) { if ($request->isXmlHttpRequest()) { return new Response($this->refreshPortfolioList($loggedUser)); } else { $this->getSessionFlashbag()->add('success', $this->getTranslator()->trans('portfolio_add_success_message', [], 'icap_portfolio')); return $this->redirect($this->generateUrl('icap_portfolio_index')); } } } catch (\Exception $exception) { if ($request->isXmlHttpRequest()) { return new JsonResponse('Error while adding a portfolio', 500); } else { $this->getSessionFlashbag()->add('error', $this->getTranslator()->trans('portfolio_add_error_message', [], 'icap_portfolio')); return $this->redirect($this->generateUrl('icap_portfolio_index')); } } return ['form' => $this->getPortfolioFormHandler()->getAddForm()->createView(), 'portfolio' => $portfolio]; }