Module: check_mk
Branch: master
Commit: 8e37367c0657d7b368f9c7aa25107c5439d137e6
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8e37367c0657d7…
Author: Andreas <ab(a)mathias-kettner.de>
Date: Thu Jun 14 18:57:20 2018 +0200
5822 FIX WATO Web-API set_ruleset: Now able to delete complete rulesets from folders
Removing all rulesets of a specific type from a folder always failed with the exception
<tt>'list' object has no attribute 'get'</tt>. This has been
fixed.
Change-Id: Ie39dd3e99ec0d2a8b21c7abcad6174e7d7e64417
---
.werks/5822 | 13 +++++++++++++
web/plugins/webapi/webapi.py | 9 +++++----
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/.werks/5822 b/.werks/5822
new file mode 100644
index 0000000..b4ab409
--- /dev/null
+++ b/.werks/5822
@@ -0,0 +1,13 @@
+Title: WATO Web-API set_ruleset: Now able to delete complete rulesets from folders
+Level: 1
+Component: wato
+Class: fix
+Compatible: compat
+Edition: cre
+State: unknown
+Version: 1.6.0i1
+Date: 1528995338
+
+Removing all rulesets of a specific type from a folder always failed with the exception
+<tt>'list' object has no attribute 'get'</tt>. This has been
fixed.
+
diff --git a/web/plugins/webapi/webapi.py b/web/plugins/webapi/webapi.py
index 0b4b4a5..fe047f6 100644
--- a/web/plugins/webapi/webapi.py
+++ b/web/plugins/webapi/webapi.py
@@ -783,15 +783,16 @@ class APICallRules(APICallCollection):
for folder_path in folders_obsolete_ruleset:
folder = watolib.Folder.folder(folder_path)
- folder_rulesets = watolib.FolderRulesets(ruleset_name)
- # TODO: Shouldn't this call .load()?
-
+ folder_rulesets = watolib.FolderRulesets(folder)
+ folder_rulesets.load()
# TODO: This add_change() call should be made by the data classes
watolib.add_change("edit-ruleset", _("Deleted ruleset
'%s' for '%s'") %
(watolib.Ruleset(ruleset_name).title(), folder.title()),
sites=folder.all_site_ids())
- folder_rulesets.from_config(folder, [])
+ new_ruleset = watolib.Ruleset(ruleset_name)
+ new_ruleset.from_config(folder, [])
+ folder_rulesets.set(ruleset_name, new_ruleset)
folder_rulesets.save()