Merge remote-tracking branch 'origin/master' into bugfix/dashboard-rework-7751

This commit is contained in:
Marius Hein 2014-11-20 13:23:33 +01:00
commit 3adf0387da
8 changed files with 138 additions and 188 deletions

View File

@ -505,14 +505,14 @@ class Monitoring_ListController extends Controller
$this->filterQuery($query);
$this->view->servicegroups = $query->paginate();
$this->setupSortControl(array(
'services_highest_severity' => $this->translate('Highest Severity'),
'servicegroup' => $this->translate('Service Group Name'),
'services_total' => $this->translate('Total Services'),
'services_ok' => $this->translate('Services OK'),
'services_unknown' => $this->translate('Services UNKNOWN'),
'services_critical' => $this->translate('Services CRITICAL'),
'services_warning' => $this->translate('Services WARNING'),
'services_pending' => $this->translate('Services PENDING')
'services_severity' => $this->translate('Severity'),
'servicegroup' => $this->translate('Service Group Name'),
'services_total' => $this->translate('Total Services'),
'services_ok' => $this->translate('Services OK'),
'services_unknown' => $this->translate('Services UNKNOWN'),
'services_critical' => $this->translate('Services CRITICAL'),
'services_warning' => $this->translate('Services WARNING'),
'services_pending' => $this->translate('Services PENDING')
));
}
@ -552,14 +552,14 @@ class Monitoring_ListController extends Controller
$this->filterQuery($query);
$this->view->hostgroups = $query->paginate();
$this->setupSortControl(array(
'services_highest_severity' => $this->translate('Highest Severity'),
'hostgroup' => $this->translate('Host Group Name'),
'services_total' => $this->translate('Total Services'),
'services_ok' => $this->translate('Services OK'),
'services_unknown' => $this->translate('Services UNKNOWN'),
'services_critical' => $this->translate('Services CRITICAL'),
'services_warning' => $this->translate('Services WARNING'),
'services_pending' => $this->translate('Services PENDING')
'services_severity' => $this->translate('Severity'),
'hostgroup' => $this->translate('Host Group Name'),
'services_total' => $this->translate('Total Services'),
'services_ok' => $this->translate('Services OK'),
'services_unknown' => $this->translate('Services UNKNOWN'),
'services_critical' => $this->translate('Services CRITICAL'),
'services_warning' => $this->translate('Services WARNING'),
'services_pending' => $this->translate('Services PENDING')
));
}

View File

@ -14,6 +14,7 @@
<div class="content">
<?= $this->filterEditor ?>
</div>
</div>
<?php endif ?>
<div class="content">

View File

@ -21,46 +21,46 @@
?>
<table class="groupview" data-base-target="_next">
<thead>
<th style="text-align: left;"><?= $this->translate('Last Problem'); ?></th>
<th style="text-align: left;"><?= $this->translate('Host Group'); ?></th>
<th><?= $this->translate('Last Problem'); ?></th>
<th><?= $this->translate('Host Group'); ?></th>
<th><?= $this->translate('Total Services'); ?></th>
<th colspan="5"><?= $this->translate('Service States'); ?></th>
<th><?= $this->translate('Service States'); ?></th>
</thead>
<tbody>
<?php foreach ($hostgroups as $h): ?>
<tr href="<?= $this->href('monitoring/list/services', array('hostgroup' => $h->hostgroup)); ?>">
<?php if ($h->services_critical_last_state_change_unhandled): ?>
<td class="state change critical">
<td class="state change critical unhandled">
<strong><?= $this->translate('CRITICAL'); ?></strong>
<br>
<?= $this->prefixedTimeSince($h->services_critical_last_state_change_unhandled); ?>
</td>
<?php elseif ($h->services_unknown_last_state_change_unhandled): ?>
<td class="state change unknown">
<td class="state change unknown unhandled">
<strong><?= $this->translate('UNKNOWN'); ?></strong>
<br>
<?= $this->prefixedTimeSince($h->services_unknown_last_state_change_unhandled); ?>
</td>
<?php elseif ($h->services_warning_last_state_change_unhandled): ?>
<td class="state change warning">
<td class="state change warning unhandled">
<strong><?= $this->translate('WARNING'); ?></strong>
<br>
<?= $this->prefixedTimeSince($h->services_warning_last_state_change_unhandled); ?>
</td>
<?php elseif ($h->services_critical_last_state_change_handled): ?>
<td class="state change critical handled">
<td class="state change critical">
<strong><?= $this->translate('CRITICAL'); ?></strong>
<br>
<?= $this->prefixedTimeSince($h->services_critical_last_state_change_handled); ?>
</td>
<?php elseif ($h->services_unknown_last_state_change_handled): ?>
<td class="state change unknown handled">
<td class="state change unknown">
<strong><?= $this->translate('UNKNOWN'); ?></strong>
<br>
<?= $this->prefixedTimeSince($h->services_unknown_last_state_change_handled); ?>
</td>
<?php elseif ($h->services_warning_last_state_change_handled): ?>
<td class="state change warning handled">
<td class="state change warning">
<strong><?= $this->translate('WARNING'); ?></strong>
<br>
<?= $this->prefixedTimeSince($h->services_warning_last_state_change_handled); ?>
@ -78,12 +78,12 @@
<?= $this->prefixedTimeSince($h->services_pending_last_state_change); ?>
</td>
<?php endif ?>
<td>
<td class="groupname">
<a href="<?= $this->href('monitoring/list/services', array('hostgroup' => $h->hostgroup)); ?>">
<?= $h->hostgroup; ?>
</a>
</td>
<td class="services-total">
<td class="total">
<?= $h->services_total; ?>
</td>
<td class="state">
@ -100,13 +100,7 @@
<?= $h->services_ok; ?>
</a>
</span>
<?php else: ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($h->services_critical_unhandled): ?>
<span class="state critical">
<a href="<?= $this->href(
@ -141,13 +135,6 @@
<?php if ($h->services_critical_unhandled): ?>
</span>
<?php endif ?>
<?php if (! $h->services_critical_unhandled && !$h->services_critical_handled): ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($h->services_unknown_unhandled): ?>
<span class="state unknown">
<a href="<?= $this->href(
@ -182,13 +169,6 @@
<?php if ($h->services_unknown_unhandled): ?>
</span>
<?php endif ?>
<?php if (! $h->services_unknown_unhandled && !$h->services_unknown_handled): ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($h->services_warning_unhandled): ?>
<span class="state warning">
<a href="<?= $this->href(
@ -223,13 +203,6 @@
<?php if ($h->services_warning_unhandled): ?>
</span>
<?php endif ?>
<?php if (! $h->services_warning_unhandled && !$h->services_warning_handled): ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($h->services_pending): ?>
<span class="state pending">
<a href="<?= $this->href(
@ -243,10 +216,6 @@
<?= $h->services_pending; ?>
</a>
</span>
<?php else: ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
</tr>

View File

@ -21,46 +21,46 @@
?>
<table class="groupview" data-base-target="_next">
<thead>
<th style="text-align: left;"><?= $this->translate('Last Problem'); ?></th>
<th style="text-align: left;"><?= $this->translate('Service Group'); ?></th>
<th><?= $this->translate('Last Problem'); ?></th>
<th><?= $this->translate('Service Group'); ?></th>
<th><?= $this->translate('Total Services'); ?></th>
<th colspan="5"><?= $this->translate('Service States'); ?></th>
<th><?= $this->translate('Service States'); ?></th>
</thead>
<tbody>
<?php foreach ($servicegroups as $s): ?>
<tr href="<?= $this->href('monitoring/list/services', array('servicegroup' => $s->servicegroup)); ?>">
<?php if ($s->services_critical_last_state_change_unhandled): ?>
<td class="state change critical">
<td class="state change critical unhandled">
<strong><?= $this->translate('CRITICAL'); ?></strong>
<br>
<?= $this->prefixedTimeSince($s->services_critical_last_state_change_unhandled); ?>
</td>
<?php elseif ($s->services_unknown_last_state_change_unhandled): ?>
<td class="state change unknown">
<td class="state change unknown unhandled">
<strong><?= $this->translate('UNKNOWN'); ?></strong>
<br>
<?= $this->prefixedTimeSince($s->services_unknown_last_state_change_unhandled); ?>
</td>
<?php elseif ($s->services_warning_last_state_change_unhandled): ?>
<td class="state change warning">
<td class="state change warning unhandled">
<strong><?= $this->translate('WARNING'); ?></strong>
<br>
<?= $this->prefixedTimeSince($s->services_warning_last_state_change_unhandled); ?>
</td>
<?php elseif ($s->services_critical_last_state_change_handled): ?>
<td class="state change critical handled">
<td class="state change critical">
<strong><?= $this->translate('CRITICAL'); ?></strong>
<br>
<?= $this->prefixedTimeSince($s->services_critical_last_state_change_handled); ?>
</td>
<?php elseif ($s->services_unknown_last_state_change_handled): ?>
<td class="state change unknown handled">
<td class="state change unknown">
<strong><?= $this->translate('UNKNOWN'); ?></strong>
<br>
<?= $this->prefixedTimeSince($s->services_unknown_last_state_change_handled); ?>
</td>
<?php elseif ($s->services_warning_last_state_change_handled): ?>
<td class="state change warning handled">
<td class="state change warning">
<strong><?= $this->translate('WARNING'); ?></strong>
<br>
<?= $this->prefixedTimeSince($s->services_warning_last_state_change_handled); ?>
@ -78,12 +78,12 @@
<?= $this->prefixedTimeSince($s->services_pending_last_state_change); ?>
</td>
<?php endif ?>
<td>
<td class="groupname">
<a href="<?= $this->href('monitoring/list/services', array('servicegroup' => $s->servicegroup)); ?>">
<?= $s->servicegroup; ?>
</a>
</td>
<td class="services-total">
<td class="total">
<?= $s->services_total; ?>
</td>
<td class="state">
@ -100,13 +100,7 @@
<?= $s->services_ok; ?>
</a>
</span>
<?php else: ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($s->services_critical_unhandled): ?>
<span class="state critical">
<a href="<?= $this->href(
@ -141,13 +135,6 @@
<?php if ($s->services_critical_unhandled): ?>
</span>
<?php endif ?>
<?php if (! $s->services_critical_unhandled && !$s->services_critical_handled): ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($s->services_unknown_unhandled): ?>
<span class="state unknown">
<a href="<?= $this->href(
@ -182,13 +169,6 @@
<?php if ($s->services_unknown_unhandled): ?>
</span>
<?php endif ?>
<?php if (! $s->services_unknown_unhandled && !$s->services_unknown_handled): ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($s->services_warning_unhandled): ?>
<span class="state warning">
<a href="<?= $this->href(
@ -223,13 +203,6 @@
<?php if ($s->services_warning_unhandled): ?>
</span>
<?php endif ?>
<?php if (! $s->services_warning_unhandled && !$s->services_warning_handled): ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
<td class="state">
<?php if ($s->services_pending): ?>
<span class="state pending">
<a href="<?= $this->href(
@ -243,10 +216,6 @@
<?= $s->services_pending; ?>
</a>
</span>
<?php else: ?>
<span class="no-state">
-
</span>
<?php endif ?>
</td>
</tr>

View File

@ -35,7 +35,7 @@ class GroupSummaryQuery extends IdoQuery
'services_warning_unhandled' => 'SUM(CASE WHEN object_type = \'service\' AND state = 1 AND acknowledged + in_downtime + host_state = 0 THEN 1 ELSE 0 END)',
'services_critical_unhandled' => 'SUM(CASE WHEN object_type = \'service\' AND state = 2 AND acknowledged + in_downtime + host_state = 0 THEN 1 ELSE 0 END)',
'services_unknown_unhandled' => 'SUM(CASE WHEN object_type = \'service\' AND state = 3 AND acknowledged + in_downtime + host_state = 0 THEN 1 ELSE 0 END)',
'services_highest_severity' => 'MAX(CASE WHEN object_type = \'service\' THEN severity ELSE 0 END)',
'services_severity' => 'MAX(CASE WHEN object_type = \'service\' THEN severity ELSE 0 END)',
'services_ok_last_state_change' => 'MAX(CASE WHEN object_type = \'service\' AND state = 0 THEN state_change ELSE 0 END)',
'services_pending_last_state_change' => 'MAX(CASE WHEN object_type = \'service\' AND state = 99 THEN state_change ELSE 0 END)',
'services_warning_last_state_change_handled' => 'MAX(CASE WHEN object_type = \'service\' AND state = 1 AND acknowledged + in_downtime + host_state > 0 THEN state_change ELSE 0 END)',

View File

@ -36,7 +36,7 @@ class Groupsummary extends DataView
'services_warning_handled',
'services_warning_unhandled',
'services_pending',
'services_highest_severity',
'services_severity',
'services_ok_last_state_change',
'services_pending_last_state_change',
'services_warning_last_state_change_handled',
@ -51,8 +51,8 @@ class Groupsummary extends DataView
public function getSortRules()
{
return array(
'services_highest_severity' => array(
'columns' => array('services_highest_severity'),
'services_severity' => array(
'columns' => array('services_severity'),
'order' => self::SORT_DESC
)
);

View File

@ -173,8 +173,13 @@ form label {
width: 10em;
}
select, input[type=text] {
select, input[type=text], textarea {
width: 20em;
display: inline-block;
}
textarea {
height: 4em;
}
form .description {
@ -186,16 +191,34 @@ form .description {
display: block;
}
textarea {
height: 4em;
form label.has-feedback:after {
content: '\e85b';
font-family: "ifont";
font-style: normal;
font-weight: normal;
speak: none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
text-decoration: inherit;
width: 1em;
margin-right: .2em;
text-align: center;
/* opacity: .8; */
width: 100%;
}
input, select, textarea {
display: inline;
/* For safety - reset parent styles, that can break glyph codes*/
font-variant: normal;
text-transform: none;
/* fix buttons height, for twitter bootstrap */
line-height: 1em;
/* Animation center compensation - margins should be symmetric */
/* remove if not needed */
margin-left: .2em;
/* you can be more comfortable with increased icons size */
/* font-size: 120%; */
/* Uncomment for 3D effect */
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

View File

@ -829,18 +829,18 @@ table.groupview {
border-collapse: separate;
border-spacing: 0.1em;
thead th {
th {
font-size: 0.9em;
text-align: left;
white-space: nowrap;
}
tbody {
tr {
&:hover {
color: #333;
}
td {
&.groupname {
width: 60%;
a {
color: #333;
color: inherit;
text-decoration: none;
&:hover {
@ -849,19 +849,19 @@ table.groupview {
}
}
td.services-total {
&.total {
width: 10%;
text-align: center;
}
td.state {
width: 10%;
color: white;
text-align: center;
&.state {
width: 20%;
white-space: nowrap;
&.change {
width: 10%;
white-space: nowrap;
text-align: center;
border-left-width: 1.5em;
border-left-style: solid;
padding: 0.3em 0.5em 0.3em 0.5em;
strong {
@ -871,70 +871,58 @@ table.groupview {
span.timesince {
font-size: 0.8em;
}
}
&.ok {
color: #333;
border-left-style: solid;
border-left-width: 1.5em;
border-color: @colorOk;
}
&.ok {
border-color: @colorOk;
}
&.pending {
color: #333;
border-left-style: solid;
border-left-width: 1.5em;
border-color: @colorPending;
}
&.pending {
border-color: @colorPending;
}
&.warning {
background-color: @colorWarning;
&.handled {
background-color: inherit;
color: #333;
border-left-style: solid;
border-left-width: 1.5em;
&.warning {
border-color: @colorWarningHandled;
}
}
&.unknown {
background-color: @colorUnknown;
&.handled {
color: #333;
background-color: inherit;
border-left-style: solid;
border-left-width: 1.5em;
border-color: @colorUnknownHandled;
}
}
&.critical {
background-color: @colorCritical;
&.handled {
color: #333;
background-color: inherit;
border-left-style: solid;
border-left-width: 1.5em;
border-color: @colorCriticalHandled;
}
}
span {
&.no-state {
color: #333;
}
&.state {
&.handled {
margin-right: 2px;
}
a {
&.unhandled {
color: white;
border-left-width: 0;
background-color: @colorWarning;
}
}
&.unknown {
border-color: @colorUnknownHandled;
&.unhandled {
color: white;
border-left-width: 0;
background-color: @colorUnknown;
}
}
&.critical {
border-color: @colorCriticalHandled;
&.unhandled {
color: white;
border-left-width: 0;
background-color: @colorCritical;
}
}
}
span.state {
&.handled {
margin-right: 2px;
}
a {
font-size: 0.9em;
color: white;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
}