icingaweb2-module-director/application/controllers/IndexController.php

58 lines
1.6 KiB
PHP
Raw Normal View History

<?php
2015-10-20 22:34:04 +02:00
namespace Icinga\Module\Director\Controllers;
2016-03-13 23:48:22 +01:00
use Exception;
use Icinga\Module\Director\Web\Controller\ActionController;
class IndexController extends ActionController
{
public function indexAction()
{
if ($this->getRequest()->isGet()) {
$this->setAutorefreshInterval(10);
}
if (! $this->Config()->get('db', 'resource')
|| !$this->fetchStats()
|| !$this->hasDeploymentEndpoint()
) {
$this->getTabs()->add('overview', array(
'url' => $this->getRequest()->getUrl(),
'label' => $this->translate('Configuration')
))->activate('overview');
$this->view->title = $this->translate('Configuration');
$this->view->form = $this->loadForm('kickstart')->handleRequest();
} else {
$this->getTabs()->add('overview', array(
'url' => $this->getRequest()->getUrl(),
'label' => $this->translate('Overview')
))->activate('overview');
}
}
2015-12-18 10:51:38 +01:00
protected function hasDeploymentEndpoint()
{
try {
$this->view->hasDeploymentEndpoint = $this->db()->hasDeploymentEndpoint();
} catch (Exception $e) {
return false;
2015-12-18 10:51:38 +01:00
}
return $this->view->hasDeploymentEndpoint;
}
2016-03-13 23:48:22 +01:00
protected function fetchStats()
{
try {
$this->view->stats = $this->db()->getObjectSummary();
$this->view->undeployedActivities = $this->db()->countActivitiesSinceLastDeployedConfig();
} catch (Exception $e) {
return false;
}
return true;
}
}