monitoring: Reduce header size for multiple selected services

refs #5543
This commit is contained in:
Eric Lippmann 2015-11-10 13:21:54 +01:00
parent 848882bb44
commit 818105bc45
3 changed files with 59 additions and 78 deletions

View File

@ -53,28 +53,20 @@ class ServicesController extends Controller
protected function handleCommandForm(ObjectsCommandForm $form) protected function handleCommandForm(ObjectsCommandForm $form)
{ {
$this->serviceList->setColumns(array( $this->serviceList->setColumns(array(
'host_icon_image', 'host_display_name',
'host_icon_image_alt',
'host_name', 'host_name',
'host_address',
'host_address6',
'host_output',
'host_state',
'host_problem', 'host_problem',
'host_handled',
'service_icon_image',
'service_icon_image_alt',
'service_description',
'service_state',
'service_problem',
'service_handled',
'service_acknowledged', 'service_acknowledged',
'service_active_checks_enabled',
'service_description',
'service_display_name',
'service_handled',
'service_in_downtime', 'service_in_downtime',
'service_is_flapping', 'service_is_flapping',
'service_output', 'service_last_state_change',
'service_notifications_enabled', 'service_notifications_enabled',
'service_active_checks_enabled', 'service_passive_checks_enabled',
'service_passive_checks_enabled' 'service_state'
)); ));
$form $form
@ -99,32 +91,22 @@ class ServicesController extends Controller
->handleRequest(); ->handleRequest();
$this->view->checkNowForm = $checkNowForm; $this->view->checkNowForm = $checkNowForm;
$this->serviceList->setColumns(array( $this->serviceList->setColumns(array(
'host_icon_image', 'host_display_name',
'host_icon_image_alt',
'host_name', 'host_name',
'host_address',
'host_address6',
'host_output',
'host_state',
'host_problem', 'host_problem',
'host_handled', 'host_state',
'service_icon_image',
'service_icon_image_alt',
'service_output',
'service_description',
'service_state',
'service_problem',
'service_handled',
'service_acknowledged', 'service_acknowledged',
'service_active_checks_enabled',
'service_description',
'service_display_name',
'service_handled',
'service_in_downtime', 'service_in_downtime',
'service_is_flapping', 'service_is_flapping',
'service_last_state_change',
'service_notifications_enabled', 'service_notifications_enabled',
'service_active_checks_enabled', 'service_passive_checks_enabled',
'service_passive_checks_enabled' 'service_problem',
/* 'service_state'
'service_event_handler_enabled',
'service_flap_detection_enabled',
'service_obsessing'*/
)); ));
$acknowledgedObjects = $this->serviceList->getAcknowledgedObjects(); $acknowledgedObjects = $this->serviceList->getAcknowledgedObjects();

View File

@ -52,7 +52,7 @@ class Zend_View_Helper_Link extends Zend_View_Helper_Abstract
public function service($service, $serviceLinkText, $host, $hostLinkText, $class = null) public function service($service, $serviceLinkText, $host, $hostLinkText, $class = null)
{ {
return sprintf( return sprintf(
'%s: %s', '%s: %s',
$this->host($host, $hostLinkText), $this->host($host, $hostLinkText),
$this->view->qlink( $this->view->qlink(
$serviceLinkText, $serviceLinkText,

View File

@ -1,46 +1,45 @@
<?php <?php
use Icinga\Module\Monitoring\Object\Host;
use Icinga\Module\Monitoring\Object\Service; use Icinga\Module\Monitoring\Object\Service;
$i = 0; if (! ($serviceCount = count($objects))): return; endif ?>
?> <table class="state-table">
<?php if (($serviceCount = count($objects)) > 0): ?>
<table class='action state statesummary'>
<tbody> <tbody>
<?php foreach ($objects as $service): /** @var Service $service */ ?> <?php foreach ($objects as $i => $service): /** @var Service $service */
<?php if ($i === 5) {
if (++ $i > 5) { break;
continue; } ?>
}
?>
<tr> <tr>
<td class="state-col state-<?= Service::getStateText($service->service_state); ?><?= $service->service_handled ? ' handled' : '' ?>"?> <td class="state-col state-<?= Service::getStateText($service->service_state) ?><?= $service->service_handled ? ' handled' : '' ?>">
<?= Service::getStateText($service->service_state, true); ?><br /> <span class="sr-only"><?= Service::getStateText($service->service_state) ?></span>
<div class="state-meta">
<?= $this->timeSince($service->service_last_state_change, $this->compact) ?>
</div>
</td> </td>
<td> <td>
<?= $this->iconImage()->service($service) ?> <?= $this->link()->service(
$service->service_description,
$service->service_display_name,
$service->host_name,
$service->host_display_name
. ($service->host_state != 0 ? ' (' . Host::getStateText($service->host_state, true) . ')' : '')
) ?>
<?= implode(' ', $this->serviceFlags($service)) ?> <?= implode(' ', $this->serviceFlags($service)) ?>
<b>
<?= $this->escape($service->getHost()->getName()); ?>:
<?= $this->escape($service->getName()); ?> <br>
</b>
<?= $this->escape($service->service_output) ?>
</td> </td>
</tr> </tr>
<?php endforeach ?> <?php endforeach ?>
</tbody> </tbody>
</table> </table>
<div class="hbox-item multi-commands"> <?php if ($serviceCount > 5): ?>
<?php if ($i > 5): ?> <div class="services-link">
<?= $this->qlink( <?= $this->qlink(
sprintf($this->translate('List all %d services'), $i), sprintf($this->translate('List all %d services'), $serviceCount),
$listAllLink, $this->url()->setPath('monitoring/list/services'),
null, null,
array( array(
'icon' => 'down-open', 'data-base-target' => '_next',
'data-base-target' => '_next' 'icon' => 'forward'
) )
); ) ?>
?>
<?php endif ?>
</div> </div>
<?php endif ?> <?php endif ?>