From 4989f12044937821befc681d04624a8611100be2 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Thu, 9 Oct 2014 18:09:54 -0400 Subject: 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 Reviewed-by: Patrick Uiterwijk --- ipsilon/admin/info.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'ipsilon/admin/info.py') 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 -- cgit