/** * @param Request $request * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function storeSystemAction(Request $request) { $this->assertUserRights(UserRole::ROLE_ADMIN); $system = $request->get('system'); if (array_key_exists("id", $system)) { $systemObject = $this->getDoctrine()->getRepository('BauerIncidentDashboardCoreBundle:System')->find($system["id"]); } else { $systemObject = new System(); $systemObject->setProject($this->getProject()); } if ($system["identifier"] != "") { $systemObject->setIdentifier($system["identifier"]); } else { $this->addFlash('notice', 'The parameter "identifier" is required'); return $this->redirect($this->generateUrl('koalamon_default_project_admin', array("project" => $this->getProject()->getIdentifier()))); } if ($system["url"] != "" && !filter_var($system['url'], FILTER_VALIDATE_URL) === false) { $systemObject->setUrl($system["url"]); } else { $this->addFlash('notice', 'The parameter "URL" requires a valid URL'); return $this->redirect($this->generateUrl('koalamon_default_project_admin', array("project" => $this->getProject()->getIdentifier()))); } if ($system["name"] != "") { $systemObject->setName($system["name"]); } else { $systemObject->setName($system['url']); } if ($system["description"] != "") { $systemObject->setDescription($system["description"]); } else { $systemObject->setDescription(null); } $em = $this->getDoctrine()->getManager(); $em->persist($systemObject); $em->flush(); $this->addFlash('success', 'System "' . $systemObject->getName() . '" successfully saved.'); return $this->redirect($this->generateUrl('koalamon_default_project_admin', array("project" => $this->getProject()->getIdentifier()))); }