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): ?> <tbody>
<table class='action state statesummary'> <?php foreach ($objects as $i => $service): /** @var Service $service */
<tbody> if ($i === 5) {
<?php foreach ($objects as $service): /** @var Service $service */ ?> break;
<?php } ?>
if (++ $i > 5) { <tr>
continue; <td class="state-col state-<?= Service::getStateText($service->service_state) ?><?= $service->service_handled ? ' handled' : '' ?>">
} <span class="sr-only"><?= Service::getStateText($service->service_state) ?></span>
?> <div class="state-meta">
<tr> <?= $this->timeSince($service->service_last_state_change, $this->compact) ?>
<td class="state-col state-<?= Service::getStateText($service->service_state); ?><?= $service->service_handled ? ' handled' : '' ?>"?> </div>
<?= Service::getStateText($service->service_state, true); ?><br /> </td>
</td> <td>
<td> <?= $this->link()->service(
<?= $this->iconImage()->service($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> </td>
<?= $this->escape($service->getHost()->getName()); ?>: </tr>
<?= $this->escape($service->getName()); ?> <br> <?php endforeach ?>
</b> </tbody>
<?= $this->escape($service->service_output) ?> </table>
</td> <?php if ($serviceCount > 5): ?>
</tr> <div class="services-link">
<?php endforeach ?> <?= $this->qlink(
</tbody> sprintf($this->translate('List all %d services'), $serviceCount),
</table> $this->url()->setPath('monitoring/list/services'),
<div class="hbox-item multi-commands"> null,
<?php if ($i > 5): ?> array(
<?= $this->qlink( 'data-base-target' => '_next',
sprintf($this->translate('List all %d services'), $i), 'icon' => 'forward'
$listAllLink, )
null, ) ?>
array( </div>
'icon' => 'down-open',
'data-base-target' => '_next'
)
);
?>
<?php endif ?>
</div>
<?php endif ?> <?php endif ?>