Module: check_mk
Branch: master
Commit: 090d6fc612146fc0df6afd0a141d99ab9b5cbbe9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=090d6fc612146f…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Sat Oct 8 11:50:33 2011 +0200
FIX: fixed sorting of service perfdata columns
---
ChangeLog | 1 +
web/plugins/views/sorters.py | 67 +++++++++++++++++++++++++++++++++++++-----
2 files changed, 60 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e8f12a3..01db004 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,7 @@
* FIX: Fixed not updating pnp graphs on dashboard in some browsers (like chrome)
* FIX: fix URL-too-long in permissions page
* FIX: fix permission computation
+ * FIX: fixed sorting of service perfdata columns
* Cleanup permissions page optically, add comments for views and snapins
* Added some missing i18n strings in general HTML functions
* Added display_option "w" to disable limit messages and livestatus errors
in views
diff --git a/web/plugins/views/sorters.py b/web/plugins/views/sorters.py
index b8cfae5..0ad3848 100644
--- a/web/plugins/views/sorters.py
+++ b/web/plugins/views/sorters.py
@@ -157,14 +157,65 @@ declare_1to1_sorter("svc_group_memberlist",
cmp_string_list)
declare_1to1_sorter("svc_acknowledged", cmp_simple_number)
def cmp_perfdata_nth_value(r1, r2, n):
- return cmp(get_perfdata_nth_value(r1, n), get_perfdata_nth_value(r2, n))
-
-for n in range(1, 10):
- multisite_sorters['svc_perf_val%02d' % n] = {
- "title" : _("Service performance data - value number %02d"
% n),
- "columns" : [ 'service_perf_data' ],
- "cmp" : lambda r1, r2: cmp(get_perfdata_nth_value(r1, n - 1),
get_perfdata_nth_value(r2, n - 1))
- }
+ def saveint(s):
+ # Change None or empty strings to -1 to make these lines
+ # appear below the lines with a value of 0
+ if s is None or s == '':
+ return -1
+ return int(s)
+ return cmp(saveint(get_perfdata_nth_value(r1, n)), saveint(get_perfdata_nth_value(r2,
n)))
+
+multisite_sorters['svc_perf_val01'] = {
+ "title" : _("Service performance data - value number 01"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 0),
+}
+multisite_sorters['svc_perf_val02'] = {
+ "title" : _("Service performance data - value number 02"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 1),
+}
+multisite_sorters['svc_perf_val03'] = {
+ "title" : _("Service performance data - value number 03"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 2),
+}
+multisite_sorters['svc_perf_val04'] = {
+ "title" : _("Service performance data - value number 04"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 3),
+}
+multisite_sorters['svc_perf_val05'] = {
+ "title" : _("Service performance data - value number 05"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 4),
+}
+multisite_sorters['svc_perf_val06'] = {
+ "title" : _("Service performance data - value number 06"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 5),
+}
+multisite_sorters['svc_perf_val07'] = {
+ "title" : _("Service performance data - value number 07"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 6),
+}
+multisite_sorters['svc_perf_val08'] = {
+ "title" : _("Service performance data - value number 08"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 7),
+}
+multisite_sorters['svc_perf_val09'] = {
+ "title" : _("Service performance data - value number 09"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 8),
+}
+multisite_sorters['svc_perf_val10'] = {
+ "title" : _("Service performance data - value number 10"),
+ "columns" : [ 'service_perf_data' ],
+ "cmp" : lambda r1, r2: cmp_perfdata_nth_value(r1, r2, 9),
+}
+
# Host
declare_1to1_sorter("alias", cmp_simple_string)