Example #1
0
 /**
  * @runInSeparateProcess
  * @preserveGlobalState disabled
  */
 public function testBackendDefaultName()
 {
     Mockery::mock('alias:Icinga\\Data\\ResourceFactory')->shouldReceive('create')->andReturn(Mockery::mock('Icinga\\Data\\Db\\DbConnection')->shouldReceive('getDbType')->andReturn('mysql')->shouldReceive('setTablePrefix')->getMock());
     ConfigWithSetModuleConfig::setModuleConfig('monitoring', 'backends', new ConfigObject(array('backendName' => array('type' => 'ido', 'resource' => 'ido'))));
     $defaultBackend = Backend::createBackend();
     $this->assertEquals('backendName', $defaultBackend->getName(), 'Default backend has name set');
 }
Example #2
0
 public function contactAction()
 {
     $contactName = $this->params->getRequired('contact_name');
     $query = $this->backend->select()->from('contact', array('contact_name', 'contact_id', 'contact_alias', 'contact_email', 'contact_pager', 'contact_object_id', 'contact_notify_service_timeperiod', 'contact_notify_service_recovery', 'contact_notify_service_warning', 'contact_notify_service_critical', 'contact_notify_service_unknown', 'contact_notify_service_flapping', 'contact_notify_service_downtime', 'contact_notify_host_timeperiod', 'contact_notify_host_recovery', 'contact_notify_host_down', 'contact_notify_host_unreachable', 'contact_notify_host_flapping', 'contact_notify_host_downtime'));
     $query->where('contact_name', $contactName);
     $this->applyRestriction('monitoring/filter/objects', $query);
     $contact = $query->getQuery()->fetchRow();
     if ($contact) {
         $commands = $this->backend->select()->from('command', array('command_line', 'command_name'))->where('contact_id', $contact->contact_id);
         $this->view->commands = $commands;
         $notifications = $this->backend->select()->from('notification', array('host_name', 'service_description', 'notification_output', 'notification_contact_name', 'notification_start_time', 'notification_state', 'host_display_name', 'service_display_name'));
         $notifications->where('contact_object_id', $contact->contact_object_id);
         $this->applyRestriction('monitoring/filter/objects', $notifications);
         $this->view->notifications = $notifications;
         $this->setupLimitControl();
         $this->setupPaginationControl($this->view->notifications);
     }
     $this->view->contact = $contact;
     $this->view->contactName = $contactName;
 }
Example #3
0
 /**
  * Create a new command transport
  */
 public function createtransportAction()
 {
     $form = new TransportConfigForm();
     $form->setRedirectUrl('monitoring/config');
     $form->setTitle($this->translate('Create New Command Transport'));
     $form->setIniConfig($this->Config('commandtransports'));
     $form->setInstanceNames(Backend::createBackend()->select()->from('instance', array('instance_name'))->fetchColumn());
     $form->setOnSuccess(function (TransportConfigForm $form) {
         try {
             $form->add($form::transformEmptyValuesToNull($form->getValues()));
         } catch (Exception $e) {
             $form->error($e->getMessage());
             return false;
         }
         if ($form->save()) {
             Notification::success(t('Command transport successfully created'));
             return true;
         }
         return false;
     });
     $form->handleRequest();
     $this->view->form = $form;
     $this->render('form');
 }
 protected function backend()
 {
     if ($this->backend === null) {
         $this->backend = Backend::createBackend($this->params->get('backend'));
     }
     return $this->backend;
 }
 public function init()
 {
     $this->app->setupZendAutoloader();
     $this->backend = Backend::createBackend($this->params->shift('backend'));
     $this->dumpSql = $this->params->shift('showsql');
 }