Module: check_mk
Branch: master
Commit: 6c74fd80ca3d67a57255f0217e00d650cccfb307
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=6c74fd80ca3d67…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Jan 30 11:07:09 2015 +0100
#1885 FIX Fixed filtering by software versions in software package search
---
.werks/1885 | 10 ++++++++++
ChangeLog | 1 +
web/plugins/views/inventory.py | 25 +++----------------------
web/plugins/visuals/inventory.py | 17 +++++++++++++++++
4 files changed, 31 insertions(+), 22 deletions(-)
diff --git a/.werks/1885 b/.werks/1885
new file mode 100644
index 0000000..0023548
--- /dev/null
+++ b/.werks/1885
@@ -0,0 +1,10 @@
+Title: Fixed filtering by software versions in software package search
+Level: 1
+Component: multisite
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.2.7i1
+Date: 1422612414
+
+
diff --git a/ChangeLog b/ChangeLog
index 4b279a8..ecf7b09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -150,6 +150,7 @@
* 1872 FIX: View editor hides filter selection for object types which have no filter
to choose...
* 1876 FIX: User sorting of views can now be disabled again
* 1884 FIX: Fixed exception in virtual host tree snapin
+ * 1885 FIX: Fixed filtering by software versions in software package search
WATO:
* 1760 Added search form to manual checks page
diff --git a/web/plugins/views/inventory.py b/web/plugins/views/inventory.py
index 06f6260..a8d0b8b 100644
--- a/web/plugins/views/inventory.py
+++ b/web/plugins/views/inventory.py
@@ -48,25 +48,6 @@ def cmp_inventory_node(a, b, invpath):
val_b = inventory.get(b["host_inventory"], invpath)
return cmp(a, b)
-# Try to magically compare two software versions.
-# Currently we only assume the format A.B.C.D....
-# When we suceed converting A to a number, then we
-# compare by integer, otherwise by text.
-def try_int(x):
- try:
- return int(x)
- except:
- return x
-
-def cmp_version(a, b):
- if a == None or b == None:
- return cmp(a, b)
- aa = map(try_int, a.split("."))
- bb = map(try_int, b.split("."))
- return cmp(aa, bb)
-
-
-
inv_filter_info = {
"bytes" : { "unit" : _("MB"),
"scale" : 1024*1024 },
"bytes_rounded" : { "unit" : _("MB"),
"scale" : 1024*1024 },
@@ -700,7 +681,7 @@ def declare_swpacs_columns(name, title, sortfunc):
"cmp" : lambda a, b: sortfunc(a.get(column), b.get(column))
}
- if sortfunc == cmp_version:
+ if sortfunc == visuals.cmp_version:
visuals.declare_filter(801, visuals.FilterSWPacsVersion(name, _("Software
Package") + ": " + title))
else:
visuals.declare_filter(800, visuals.FilterSWPacsText(name, _("Software
Package") + ": " + title))
@@ -711,8 +692,8 @@ for name, title, sortfunc in [
( "summary", _("Summary"), cmp ),
( "arch", _("CPU Architecture"), cmp ),
( "package_type", _("Type"), cmp ),
- ( "package_version", _("Package Version"), cmp_version ),
- ( "version", _("Version"), cmp_version ),
+ ( "package_version", _("Package Version"), visuals.cmp_version
),
+ ( "version", _("Version"), visuals.cmp_version
),
( "install_date", _("Install Date"), cmp ),
]:
declare_swpacs_columns(name, title, sortfunc)
diff --git a/web/plugins/visuals/inventory.py b/web/plugins/visuals/inventory.py
index 6d96135..2d59b3c 100644
--- a/web/plugins/visuals/inventory.py
+++ b/web/plugins/visuals/inventory.py
@@ -26,6 +26,23 @@
import inventory
+# Try to magically compare two software versions.
+# Currently we only assume the format A.B.C.D....
+# When we suceed converting A to a number, then we
+# compare by integer, otherwise by text.
+def try_int(x):
+ try:
+ return int(x)
+ except:
+ return x
+
+def cmp_version(a, b):
+ if a == None or b == None:
+ return cmp(a, b)
+ aa = map(try_int, a.split("."))
+ bb = map(try_int, b.split("."))
+ return cmp(aa, bb)
+
class FilterInvText(Filter):
def __init__(self, name, invpath, title):
self._invpath = invpath