コード例 #1
0
 public function editAction(NotificationConfiguration $notificationConfiguration)
 {
     $this->assertUserRights(UserRole::ROLE_ADMIN);
     $senders = $this->getSenders();
     $sender = $senders[$notificationConfiguration->getSenderType()]['sender'];
     return $this->render('KoalamonNotificationBundle:Default:create.html.twig', array('sender' => $sender, 'config' => $notificationConfiguration));
 }
コード例 #2
0
 public function sendNotification(NotificationConfiguration $config, Event $event, Event $lastEvent = null)
 {
     $container = new VariableContainer();
     $container->addVariable('event.status', $event->getStatus());
     $container->addVariable('event.message', $event->getMessage());
     $container->addVariable('event.url', $this->router->generate("bauer_incident_dashboard_core_homepage", array('project' => $event->getEventIdentifier()->getProject()->getIdentifier()), true));
     if ($lastEvent) {
         $container->addVariable('lastevent.message', $lastEvent->getMessage());
         $container->addVariable('lastevent.status', $lastEvent->getStatus());
     }
     $container->addVariable('system.name', $event->getSystem());
     $container->addVariable('tool.name', $event->getEventIdentifier()->getTool()->getName());
     $sender = SenderFactory::getSender($config->getSenderType());
     if ($sender instanceof ContainerAwareInterface) {
         $sender->setContainer($this->container);
     }
     $sender->init($this->router, $config->getOptions(), $container);
     $sender->send($event);
 }