Module: check_mk
Branch: master
Commit: 767a1fc879595433fe86abbaf1f729d12a798487
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=767a1fc8795954…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Aug 31 15:01:19 2018 +0200
6524 FIX BI: Fixed folding of BI aggregations of the same type
When having multiple BI aggregations configured that use the same top level rule,
this resulted in strange effects when folding / unfolding the aggregations in the
"Rule tree" column. In some situations the wrong tree was toggled.
Change-Id: Iaa1908c3842f94d30599c9b3adcc0202fa2bd248
---
.werks/6524 | 13 +++++++++++++
cmk/gui/plugins/wato/bi.py | 13 ++++++-------
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/.werks/6524 b/.werks/6524
new file mode 100644
index 0000000..c30c7e4
--- /dev/null
+++ b/.werks/6524
@@ -0,0 +1,13 @@
+Title: BI: Fixed folding of BI aggregations of the same type
+Level: 1
+Component: wato
+Class: fix
+Compatible: compat
+Edition: cre
+State: unknown
+Version: 1.6.0i1
+Date: 1535720375
+
+When having multiple BI aggregations configured that use the same top level rule,
+this resulted in strange effects when folding / unfolding the aggregations in the
+"Rule tree" column. In some situations the wrong tree was toggled.
diff --git a/cmk/gui/plugins/wato/bi.py b/cmk/gui/plugins/wato/bi.py
index dcd5a37..169940e 100644
--- a/cmk/gui/plugins/wato/bi.py
+++ b/cmk/gui/plugins/wato/bi.py
@@ -947,7 +947,7 @@ class ModeBI(WatoMode, BIManagement):
return html.makeuri_contextless(addvars + [("pack", self._pack_id)])
- def render_rule_tree(self, ruleid, tree_path):
+ def render_rule_tree(self, ruleid, tree_path, tree_prefix=""):
pack = self.pack_containing_rule(ruleid)
rule = pack["rules"][ruleid]
edit_url = html.makeuri_contextless([("mode",
"bi_edit_rule"), ("id", ruleid), ("pack",
pack["id"])])
@@ -961,10 +961,10 @@ class ModeBI(WatoMode, BIManagement):
html.close_a()
html.close_li()
else:
- html.begin_foldable_container("bi_rule_trees", tree_path, False,
title,
+ html.begin_foldable_container("bi_rule_trees", "%s%s" %
(tree_prefix, tree_path), False, title,
title_url=edit_url,
tree_img="tree_black")
for sub_rule_id in sub_rule_ids:
- self.render_rule_tree(sub_rule_id, tree_path + "/" +
sub_rule_id)
+ self.render_rule_tree(sub_rule_id, tree_path + "/" +
sub_rule_id, tree_prefix)
html.end_foldable_container()
# .--------------------------------------------------------------------.
@@ -1346,18 +1346,17 @@ class ModeBIAggregations(ModeBI):
ruleid, description =
self.rule_called_by_node(aggregation["node"])
edit_url = html.makeuri([("mode", "bi_edit_rule"),
("pack", self._pack_id), ("id", ruleid)])
table.cell(_("Rule Tree"), css="bi_rule_tree")
-
- self.render_aggregation_rule_tree(aggregation)
+ self.render_aggregation_rule_tree(aggregation_id, aggregation)
table.text_cell(_("Note"), description)
table.end()
- def render_aggregation_rule_tree(self, aggregation):
+ def render_aggregation_rule_tree(self, aggregation_id, aggregation):
toplevel_rule = self.aggregation_toplevel_rule(aggregation)
if not toplevel_rule:
html.show_error(_("The top level rule does not exist."))
return
- self.render_rule_tree(toplevel_rule["id"],
toplevel_rule["id"])
+ self.render_rule_tree(toplevel_rule["id"],
toplevel_rule["id"], tree_prefix="%s_" % aggregation_id)