/**
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function storeAction(Request $request)
 {
     $this->assertUserRights(UserRole::ROLE_ADMIN);
     $tool = $request->get('tool');
     if (array_key_exists("id", $tool)) {
         $toolObject = $this->getDoctrine()->getRepository('BauerIncidentDashboardCoreBundle:Tool')->find($tool["id"]);
     } else {
         $toolObject = new Tool();
         $toolObject->setProject($this->getProject());
     }
     if ($tool["identifier"] != "") {
         $toolObject->setIdentifier($tool["identifier"]);
     } else {
         $this->addFlash('notice', 'The parameter "identifier" is required');
         return $this->redirect($this->generateUrl('koalamon_default_tool_admin', ['project' => $this->getProject()->getIdentifier()]));
     }
     if ($tool["name"] != "") {
         $toolObject->setName($tool["name"]);
     } else {
         $this->addFlash('notice', 'The parameter "name" is required');
         return $this->redirect($this->generateUrl('koalamon_default_tool_admin', ['project' => $this->getProject()->getIdentifier()]));
     }
     $toolObject->setDescription($tool["description"]);
     if (array_key_exists('active', $tool)) {
         $toolObject->setActive(true);
     } else {
         $toolObject->setActive(false);
     }
     if (array_key_exists('notify', $tool)) {
         $toolObject->setNotify(true);
     } else {
         $toolObject->setNotify(false);
     }
     if (array_key_exists('systemSpecific', $tool)) {
         $toolObject->setSystemSpecific(true);
     } else {
         $toolObject->setSystemSpecific(false);
     }
     $toolObject->setInterval((int) $tool["interval"]);
     $em = $this->getDoctrine()->getManager();
     $em->persist($toolObject);
     $em->flush();
     $this->addFlash('success', 'Tool "' . $toolObject->getName() . '" successfully saved.');
     return $this->redirect($this->generateUrl('koalamon_default_tool_admin', ['project' => $this->getProject()->getIdentifier()]));
 }
Example #2
0
 private static function handleTool(Event &$event, EntityManager $doctrineManager)
 {
     $toolName = $event->getType();
     $tool = $doctrineManager->getRepository('BauerIncidentDashboardCoreBundle:Tool')->findOneBy(array('project' => $event->getEventIdentifier()->getProject(), 'identifier' => $toolName));
     if (is_null($tool)) {
         $tool = new Tool();
         $tool->setProject($event->getEventIdentifier()->getProject());
         $tool->setIdentifier($toolName);
         $tool->setActive(false);
         $doctrineManager->persist($tool);
         $doctrineManager->flush();
     }
     $event->getEventIdentifier()->setTool($tool);
 }