Module: check_mk
Branch: master
Commit: 4ed80e9f3f73d2f112f6d7a5e51e383bf2fd1cf9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=4ed80e9f3f73d2…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Dec 19 09:08:52 2014 +0100
Code cleanups, killed evileval
---
web/htdocs/js/checkmk.js | 4 ++--
web/htdocs/visuals.py | 15 +++++++++------
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/web/htdocs/js/checkmk.js b/web/htdocs/js/checkmk.js
index ec9c3f8..5c7a2d1 100644
--- a/web/htdocs/js/checkmk.js
+++ b/web/htdocs/js/checkmk.js
@@ -2320,7 +2320,7 @@ function fix_visualadd_menu_position(event, menu) {
}
}
-function add_to_visual(visual_type, name)
+function add_to_visual(visual_type, visual_name)
{
close_visualadd_popup();
@@ -2337,7 +2337,7 @@ function add_to_visual(visual_type, name)
}
response = get_url_sync('ajax_add_visual.py?visual_type=' + visual_type
- + '&name=' + name
+ + '&visual_name=' + visual_name
+ '&type=' + add_visual_data[0]
+ '&context=' +
encodeURIComponent(context_txt.join('|'))
+ '¶ms=' +
encodeURIComponent(params_txt.join('|')));
diff --git a/web/htdocs/visuals.py b/web/htdocs/visuals.py
index 9346253..6d48598 100644
--- a/web/htdocs/visuals.py
+++ b/web/htdocs/visuals.py
@@ -1295,7 +1295,7 @@ def ajax_popup_add():
if "popup_add_handler" in visual_type:
module_name = visual_type["module_name"]
visual_module = __import__(module_name)
- handler = eval("visual_module." +
visual_type["popup_add_handler"])
+ handler = visual_module.__dict__[visual_type["popup_add_handler"]]
visuals = handler()
html.write('<li><span>Add to %s:</span></li>'
% visual_type["title"])
for name, title in handler():
@@ -1306,13 +1306,17 @@ def ajax_popup_add():
def ajax_add_visual():
- visual_type = html.var('visual_type')
+ visual_type = html.var('visual_type') # dashboards / views / ...
visual_type = visual_types[visual_type]
module_name = visual_type["module_name"]
visual_module = __import__(module_name)
- handler = eval("visual_module." +
visual_type["add_visual_handler"])
- element_name = html.var("name")
+ handler = visual_module.__dict__[visual_type["add_visual_handler"]]
+
+ visual_name = html.var("visual_name") # add to this visual
+
+ # type of the visual to add (e.g. view)
element_type = html.var("type")
+
# Context and params are | separated lists of : separated triples
# of name, datatype and value. Datatype is int or string
extra_data = []
@@ -1328,5 +1332,4 @@ def ajax_add_visual():
value = int(value)
data[key] = value
- handler(element_name, element_type, *extra_data)
-
+ handler(visual_name, element_type, *extra_data)