public function load(ObjectManager $manager) { foreach ($this->fixtures as $file) { /** @var SplFileInfo $file */ $fixture = json_decode($file->getContents()); $system = new System(); $system->setIdentifier($fixture->identifier); $system->setName($fixture->name); $system->setUrl($fixture->url); /** @var Project $project */ $project = $this->getReference('project-' . $fixture->project); $system->setProject($project); $manager->persist($system); } $manager->flush(); }
/** * @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()))); }