Module: check_mk
Branch: master
Commit: c1ed3722c081360bbdfadf3c1fc1ebf5200ba9a2
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=c1ed3722c08136…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Jul 12 10:38:18 2013 +0200
FIX: More consistent handling of folderpath select in rule editor
---
ChangeLog | 1 +
web/htdocs/table.py | 3 +++
web/htdocs/wato.py | 16 ++++++++++++++--
3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b4cb3d0..87e0a44 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -98,6 +98,7 @@
requests, queue
* Custom user attributes can now be managed using WATO
* FIX: do validation of check items in rule editor
+ * FIX: More consistent handling of folderpath select in rule editor
Notifications:
* Flexible Notification can now filter service levels
diff --git a/web/htdocs/table.py b/web/htdocs/table.py
index ce9a27a..94dada3 100644
--- a/web/htdocs/table.py
+++ b/web/htdocs/table.py
@@ -106,6 +106,9 @@ def end():
finish_previous()
html.unplug()
+ if not table:
+ return
+
if not table["rows"] and table["omit_if_empty"]:
table = None
return
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index 4746507..6e04e7f 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -10061,10 +10061,11 @@ def create_new_rule_form(rulespec, hostname = None, item = None,
varname = None)
html.button("_new_rule", _("Create rule in folder: "))
html.write('</td><td>')
- html.select("rule_folder", folder_selection(g_root_folder))
+ html.select("rule_folder", folder_selection(g_root_folder),
html.var('folder'))
html.write('</td></tr></table>\n')
html.hidden_field("varname", varname)
html.hidden_field("mode", "new_rule")
+ html.hidden_field('folder', html.var('folder'))
html.end_form()
def mode_edit_ruleset(phase):
@@ -10209,18 +10210,29 @@ def mode_edit_ruleset(phase):
match_keys = set([]) # in case if match = "dict"
last_folder = None
+ skip_this_folder = False
for rulenr in range(0, len(ruleset)):
folder, rule = ruleset[rulenr]
if folder != last_folder:
+ skip_this_folder = False
if last_folder != None:
table.end()
first_in_group = True
alias_path = get_folder_aliaspath(folder, show_main = False)
+ last_folder = folder
+
+ folder_filter = html.var('folder')
+ if folder_filter and folder['.name'] != folder_filter:
+ skip_this_folder = True
+ continue
+
table.begin("rules", title = "%s %s" % (_("Rules
in folder"), alias_path),
css="ruleset", searchable = False)
rel_rulenr = 0
- last_folder = folder
else:
+ if skip_this_folder:
+ continue
+
first_in_group = False
rel_rulenr += 1