Module: check_mk
Branch: master
Commit: c2a6dd72d01cedd5b0503ff5ddc7512483782af7
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c2a6dd72d01ced…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed Mar 13 14:39:52 2013 +0100
Quicksearch: search for IP addresses
---
ChangeLog | 2 ++
web/htdocs/js/search.js | 11 +++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6b270bc..983a24a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,8 @@
* Dashboards can now be configured to be reloaded on resizing
(automatically adds width/height url parameters)
* New filter for IP address of a host
+ * Quicksearch: allow searching for complete IP addresses and IP
+ address prefixes
Event Console:
* New rule feature: automatically delete event after actions
diff --git a/web/htdocs/js/search.js b/web/htdocs/js/search.js
index 88c35a1..06f1273 100644
--- a/web/htdocs/js/search.js
+++ b/web/htdocs/js/search.js
@@ -274,6 +274,13 @@ function mkSearchGetSearchObjects(objType) {
return [];
}
+function is_ipaddress(add, prefix) {
+ if (prefix)
+ return add.match(/^[0-9]{1,3}(\.[0-9]{1,3}){0,2}\.?$/);
+ else
+ return add.match(/^([1-9][0-9]{0,2}\.){3}[1-9][0-9]{0,2}$/);
+}
+
function mkSearchGetUrl(objType, objName, objSite, numMatches) {
objName = objName.replace(/\*/g,"\.\*");
if (numMatches == null)
@@ -284,6 +291,10 @@ function mkSearchGetUrl(objType, objName, objSite, numMatches) {
return 'view.py?view_name=host&host=' + objName +
'&site=' + objSite;
else if(numMatches > 1)
return 'view.py?view_name=hosts&host=' + objName;
+ else if (is_ipaddress(objName, true))
+ return
'view.py?view_name=searchsvc&search=Search&filled_in=filter&host_address_prefix=yes&host_address='
+ objName;
+ else if (is_ipaddress(objName, false))
+ return
'view.py?view_name=searchsvc&search=Search&filled_in=filter&host_address_prefix=no&host_address='
+ objName;
else
return
'view.py?view_name=searchsvc&search=Search&filled_in=filter&service='
+ objName;
else if(objType == 'hg')