Module: check_mk
Branch: master
Commit: f9ddc5b8d605b3d665da1e33eeed6a487432b6b6
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f9ddc5b8d605b3…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Feb 4 17:59:06 2015 +0100
#1989 FIX Fix sorting of services in availability views
---
.werks/1989 | 10 ++++++++++
ChangeLog | 1 +
web/plugins/views/availability.py | 10 +++++++++-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/.werks/1989 b/.werks/1989
new file mode 100644
index 0000000..d61c082
--- /dev/null
+++ b/.werks/1989
@@ -0,0 +1,10 @@
+Title: Fix sorting of services in availability views
+Level: 2
+Component: multisite
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i1
+Date: 1423069133
+
+
diff --git a/ChangeLog b/ChangeLog
index 6a5c58e..b228b2e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -175,6 +175,7 @@
* 1885 FIX: Fixed filtering by software versions in software package search
* 1972 FIX: Prevent erasing of quicksearch field when sidebar is reloaded (e.g.
during activate changes)...
* 1221 FIX: veeam_client: Multisite perfometer is now more robust
+ * 1989 FIX: Fix sorting of services in availability views
WATO:
* 1760 Added search form to manual checks page
diff --git a/web/plugins/views/availability.py b/web/plugins/views/availability.py
index 506ed51..8c99a98 100644
--- a/web/plugins/views/availability.py
+++ b/web/plugins/views/availability.py
@@ -1311,7 +1311,15 @@ def render_availability_group(group_title, range_title, group_id,
availability,
do_csv = html.output_format == "csv_export"
no_html = do_csv or fetch
- availability.sort()
+ # Sort according to host and service. First after site, then
+ # host (natural sort), then service
+ def cmp_av_entry(a, b):
+ return cmp(a[0], b[0]) or \
+ cmp(num_split(a[1]) + (a[1],), num_split(b[1]) + (b[1],)) or \
+ cmp(cmp_service_name_equiv(a[2]), cmp_service_name_equiv(b[2])) or \
+ cmp(a[2], b[2])
+
+ group_availability.sort(cmp = cmp_av_entry)
show_summary = avoptions.get("summary")
summary = {}
summary_counts = {}