summaryrefslogtreecommitdiffstats
path: root/ipsilon/admin
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-10-09 18:09:54 -0400
committerPatrick Uiterwijk <puiterwijk@redhat.com>2014-10-24 18:02:09 +0200
commit4989f12044937821befc681d04624a8611100be2 (patch)
treec4e8270130beea7ee17830afc1adc4328dbf11d2 /ipsilon/admin
parent2e22f6de25903aa6bcaa9631e0c8d7345fddf88c (diff)
downloadipsilon-4989f12044937821befc681d04624a8611100be2.tar.gz
ipsilon-4989f12044937821befc681d04624a8611100be2.tar.xz
ipsilon-4989f12044937821befc681d04624a8611100be2.zip
Fix storing info plugin status and order
This is the same issue already resolved for the login plugins in commit a6ed2bba137df5fb8a9fb2931ccb2d92ca3fa0e0 Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Diffstat (limited to 'ipsilon/admin')
-rwxr-xr-xipsilon/admin/info.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/ipsilon/admin/info.py b/ipsilon/admin/info.py
index cea6b0e..d3f5284 100755
--- a/ipsilon/admin/info.py
+++ b/ipsilon/admin/info.py
@@ -10,6 +10,15 @@ from ipsilon.admin.common import AdminPage
from ipsilon.info.common import FACILITY
+def save_enabled_plugins(names):
+ po = PluginObject()
+ po.name = "global"
+ globalconf = dict()
+ globalconf['order'] = ','.join(names)
+ po.set_config(globalconf)
+ po.save_plugin_config(FACILITY)
+
+
class InfoPluginsOrder(AdminPage):
def __init__(self, site, parent):
@@ -51,12 +60,7 @@ class InfoPluginsOrder(AdminPage):
new_names.append(val)
new_plugins.append(plugins_by_name[val])
- po = PluginObject()
- po.name = "global"
- globalconf = dict()
- globalconf['order'] = ','.join(new_names)
- po.set_config(globalconf)
- po.save_plugin_config(FACILITY)
+ save_enabled_plugins(new_names)
# When all is saved update also live config. The
# live config is a list of the actual plugin
@@ -125,6 +129,7 @@ class InfoPlugins(AdminPage):
obj = plugins['available'][plugin]
if obj not in plugins['enabled']:
obj.enable(self._site)
+ save_enabled_plugins(list(x.name for x in plugins['enabled']))
msg = "Plugin %s enabled" % obj.name
return self.root_with_msg(msg, "success")
enable.public_function = True
@@ -139,6 +144,7 @@ class InfoPlugins(AdminPage):
obj = plugins['available'][plugin]
if obj in plugins['enabled']:
obj.disable(self._site)
+ save_enabled_plugins(list(x.name for x in plugins['enabled']))
msg = "Plugin %s disabled" % obj.name
return self.root_with_msg(msg, "success")
disable.public_function = True