Module: check_mk
Branch: master
Commit: 7f2750a2035cef59f601ba93fff9a2335bbc4238
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7f2750a2035cef…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Mar 27 11:32:10 2012 +0200
Quicksearch: show site name if not unique
---
ChangeLog | 2 ++
web/htdocs/js/search.js | 30 +++++++++++++++++++++++++-----
web/plugins/sidebar/search.py | 5 +++--
3 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b99872e..9112083 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
Multisite
* Layout and design update
+ * Quicksearch: display site name if more than one different site
+ is present in the current search result list
* FIX: Fixed encoding problem in "custom notification" message
Checks & Agents:
diff --git a/web/htdocs/js/search.js b/web/htdocs/js/search.js
index 4af8981..c4a6492 100644
--- a/web/htdocs/js/search.js
+++ b/web/htdocs/js/search.js
@@ -347,13 +347,30 @@ function mkSearchAddSearchResults(aSearchObjects, objType, val) {
var objName, objSite;
aSearchContents = '';
var numHits = 0;
- for(var i = 0; i < aSearchObjects.length; i++) {
+
+ // First check, if all matched items have the same
+ // site. If not, we will display the site name in
+ // brackets after the item
+ var the_only_site = null;
+ var show_site = false;
+ for (var i = 0; i < aSearchObjects.length; i++) {
+ objName = aSearchObjects[i][1];
+ if (mkSearchMatch(objName, val)) {
+ objSite = aSearchObjects[i][0];
+ if (the_only_site == null)
+ the_only_site = objSite;
+ else if (the_only_site != objSite) {
+ show_site = true;
+ break;
+ }
+ }
+ }
+
+ for (var i = 0; i < aSearchObjects.length; i++) {
objSite = aSearchObjects[i][0];
objName = aSearchObjects[i][1];
- // if(objName.match(oMatch)) {
- // case insensitive search!
- if(mkSearchMatch(objName, val)) {
+ if (mkSearchMatch(objName, val)) {
var url = mkSearchGetUrl(objType, objName, objSite, 1);
var oResult = {
'id': 'result_' + objName,
@@ -373,7 +390,10 @@ function mkSearchAddSearchResults(aSearchObjects, objType, val) {
aSearchContents += '<a id="' + oResult.id + '"
class="' + oResult.type
+ '" href="' + oResult.url
+ '" onclick="mkSearchClose()" target="' +
mkSearchTargetFrame
- + '">'+ objName + "</a>\n";
+ + '">' + objName
+ if (show_site)
+ aSearchContents += " (" + objSite + ")"
+ aSearchContents += "</a>\n";
}
}
}
diff --git a/web/plugins/sidebar/search.py b/web/plugins/sidebar/search.py
index f92ec37..f81f157 100644
--- a/web/plugins/sidebar/search.py
+++ b/web/plugins/sidebar/search.py
@@ -67,6 +67,7 @@ def render_searchform():
try:
import json
data = html.live.query("GET hosts\nColumns: name\n")
+ html.debug(data)
html.write("aSearchHosts = %s;\n" % json.dumps(data))
data = sort_data(html.live.query("GET hostgroups\nColumns: name\n"))
html.write("aSearchHostgroups = %s;\n" % json.dumps(data))
@@ -122,7 +123,7 @@ sidebar_snapins["search"] = {
background-color: #DFDFDF;
color: #000;
font-size: 80%%;
- width:140px;
+ width: 223px;
}
#mk_search_results a {
@@ -131,7 +132,7 @@ sidebar_snapins["search"] = {
text-decoration: none;
text-align: left;
padding-left: 5px;
- width: 135px;
+ width: 217px;
}
#mk_search_results a:hover, #mk_search_results a.active {