/**
  * Sends a message to slack created by information given in the event.
  *
  * @param Event $event
  */
 public function send(Event $event)
 {
     $client = new \Maknz\Slack\Client($this->webhookURL, $this->settings);
     $gotoUrl = "<" . $this->router->generate("bauer_incident_dashboard_core_homepage", array('project' => $event->getEventIdentifier()->getProject()->getIdentifier()), true) . "|Go to www.koalamon.com>";
     if ($event->hasUrl()) {
         $gotoUrl .= "\n<" . $event->getUrl() . "|Go to " . $event->getEventIdentifier()->getTool()->getName() . ">";
     }
     if ($event->getStatus() == Event::STATUS_SUCCESS) {
         $color = self::COLOR_SUCCESS;
         $label = "Your test succeeded (" . $event->getSystem() . ")\nIdentifier: " . $event->getEventIdentifier()->getIdentifier() . ")";
         $message = "";
     } else {
         $color = self::COLOR_FAILURE;
         $label = "Your test failed (" . $event->getSystem() . ") \nIdentifier: " . $event->getEventIdentifier()->getIdentifier() . "";
         $message = $this->slackifyText($event->getMessage()) . "\n";
     }
     $client->enableMarkdown()->attach(['text' => $message . $gotoUrl, 'color' => $color])->send($label);
 }
 public function closeAction(Event $event)
 {
     $closeEvent = new Event();
     $closeEvent->setIdentifier($event->getIdentifier());
     $closeEvent->setSystem($event->getSystem());
     $closeEvent->setStatus('success');
     $closeEvent->setMessage('manually closed');
     $em = $this->getDoctrine()->getEntityManager();
     $em->persist($closeEvent);
     $em->flush();
     return $this->redirect($this->generateUrl("bauer_incident_dashboard_core_admin"));
 }
 public function closeAction(Event $event)
 {
     $this->assertUserRights(UserRole::ROLE_COLLABORATOR);
     $closeEvent = new Event();
     $closeEvent->setEventIdentifier($event->getEventIdentifier());
     $closeEvent->setSystem($event->getSystem());
     $closeEvent->setStatus(Event::STATUS_SUCCESS);
     $closeEvent->setIsStatusChange(true);
     $closeEvent->setUnique($event->isUnique());
     $closeEvent->setType($event->getType());
     $closeEvent->setMessage('Manually closed by ' . $this->getUser()->getUsername() . '.');
     ProjectHelper::addEvent($this->get("Router"), $this->getDoctrine()->getEntityManager(), $closeEvent);
     return $this->redirect($this->generateUrl("bauer_incident_dashboard_core_homepage", array("project" => $event->getEventIdentifier()->getProject()->getIdentifier())));
 }