Module: check_mk
Branch: master
Commit: 31405c64b014076b276e65d7562a29daf73e6efc
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=31405c64b01407…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Oct 28 14:23:53 2011 +0200
Filter for hard states in service search/problems
---
ChangeLog | 2 ++
web/plugins/views/builtin.py | 2 ++
web/plugins/views/filters.py | 8 +++++---
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 529fb24..739cb34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -38,6 +38,8 @@
* FIX: query crashed when sorting after a join columns without
an explicit title.
* FIX: filter for WATO file/folder was not always working.
+ * Added filter for hard services states to search and service
+ problems view
1.1.12:
diff --git a/web/plugins/views/builtin.py b/web/plugins/views/builtin.py
index 951f7f5..b010dc7 100644
--- a/web/plugins/views/builtin.py
+++ b/web/plugins/views/builtin.py
@@ -1008,6 +1008,7 @@ multisite_builtin_views.update({
'check_command',
'hoststate',
'svcstate',
+ 'svchardstate',
'opthostgroup',
'opthost_contactgroup',
'output',
@@ -1327,6 +1328,7 @@ multisite_builtin_views.update({
'show_filters': ['service_in_notification_period',
'service_acknowledged',
'svcstate',
+ 'svchardstate',
'hoststate'],
'sorters': [('svcstate', True),
('stateage', False),
diff --git a/web/plugins/views/filters.py b/web/plugins/views/filters.py
index 8f378b6..60da59c 100644
--- a/web/plugins/views/filters.py
+++ b/web/plugins/views/filters.py
@@ -206,7 +206,7 @@ class FilterServiceState(Filter):
for i in [0,1,2,3]:
if html.var(self.prefix + "st%d" % i, defval) == "on":
- if self.prefix == "h":
+ if self.prefix == "hd":
column = "service_last_hard_state"
else:
column = "service_state"
@@ -214,12 +214,14 @@ class FilterServiceState(Filter):
if html.var(self.prefix + "stp", defval) == "on":
headers.append("Filter: service_has_been_checked = 0\n")
if len(headers) == 0:
- return "Limit: 0\n" # not allowed state
+ return "Limit: 0\n" # no allowed state
+ elif len(headers) == 5: # all states allowed
+ return ""
else:
return "".join(headers) + ("Or: %d\n" % len(headers))
declare_filter(215, FilterServiceState("svcstate", _("Service
states"), ""))
-declare_filter(216, FilterServiceState("svchardstate", _("Service hard
states"), "h"))
+declare_filter(216, FilterServiceState("svchardstate", _("Service hard
states"), "hd"))
class FilterHostState(Filter):
def __init__(self):