icingaweb2-module-director/library/Director/Dashboard/Dashlet/EndpointObjectDashlet.php

64 lines
1.3 KiB
PHP

<?php
namespace Icinga\Module\Director\Dashboard\Dashlet;
use Exception;
class EndpointObjectDashlet extends Dashlet
{
protected $icon = 'cloud';
protected $requiredStats = array('endpoint');
protected $hasDeploymentEndpoint;
public function getTitle()
{
return $this->translate('Endpoints');
}
public function getUrl()
{
return 'director/endpoints';
}
public function listRequiredPermissions()
{
return array('director/admin');
}
protected function hasDeploymentEndpoint()
{
if ($this->hasDeploymentEndpoint === null) {
try {
$this->hasDeploymentEndpoint = $this->db->hasDeploymentEndpoint();
} catch (Exception $e) {
return false;
}
}
return $this->hasDeploymentEndpoint;
}
public function listCssClasses()
{
if (! $this->hasDeploymentEndpoint()) {
return 'state-critical';
}
return null;
}
public function getSummary()
{
$msg = parent::getSummary();
if (! $this->hasDeploymentEndpoint()) {
$msg .= '. ' . $this->translate(
'None could be used for deployments right now'
);
}
return $msg;
}
}