summaryrefslogtreecommitdiffstats
path: root/ipsilon/admin/common.py
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-10-15 20:04:14 -0400
committerPatrick Uiterwijk <puiterwijk@redhat.com>2014-10-27 16:31:38 +0100
commit3a81575a4625576895958c9a21c8b6c64307fcb9 (patch)
tree08c400999033089c404f6477e27d499cb8e75b32 /ipsilon/admin/common.py
parentfb1c34e7aeac67a75c29a132ded87edeb557cdaf (diff)
downloadipsilon.git-3a81575a4625576895958c9a21c8b6c64307fcb9.tar.gz
ipsilon.git-3a81575a4625576895958c9a21c8b6c64307fcb9.tar.xz
ipsilon.git-3a81575a4625576895958c9a21c8b6c64307fcb9.zip
Reuse the AdminPlugins class for the providers too
This way we can remove even more duplicated code... \o/ Signed-off-by: Simo Sorce <simo@redhat.com> Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
Diffstat (limited to 'ipsilon/admin/common.py')
-rwxr-xr-xipsilon/admin/common.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/ipsilon/admin/common.py b/ipsilon/admin/common.py
index 827038e..b3c318b 100755
--- a/ipsilon/admin/common.py
+++ b/ipsilon/admin/common.py
@@ -213,8 +213,14 @@ class AdminPlugins(AdminPage):
def root_with_msg(self, message=None, message_type=None):
plugins = self._site[self.facility]
enabled = []
- for p in plugins['enabled']:
- enabled.append(p.name)
+ if self.order:
+ for plugin in plugins['enabled']:
+ enabled.append(plugin.name)
+ else:
+ for _, plugin in plugins['available'].iteritems():
+ if plugin.is_enabled:
+ enabled.append(plugin.name)
+
targs = {'title': self.title,
'menu': self._master.menu,
'message': message,
@@ -240,7 +246,7 @@ class AdminPlugins(AdminPage):
msg = "Unknown plugin %s" % plugin
return self.root_with_msg(msg, "error")
obj = plugins['available'][plugin]
- if obj not in plugins['enabled']:
+ if not obj.is_enabled:
obj.enable(self._site)
if self.order:
enabled = list(x.name for x in plugins['enabled'])
@@ -257,7 +263,7 @@ class AdminPlugins(AdminPage):
msg = "Unknown plugin %s" % plugin
return self.root_with_msg(msg, "error")
obj = plugins['available'][plugin]
- if obj in plugins['enabled']:
+ if obj.is_enabled:
obj.disable(self._site)
if self.order:
enabled = list(x.name for x in plugins['enabled'])