diff options
author | Simo Sorce <simo@redhat.com> | 2014-10-15 20:04:14 -0400 |
---|---|---|
committer | Patrick Uiterwijk <puiterwijk@redhat.com> | 2014-10-27 16:31:38 +0100 |
commit | 3a81575a4625576895958c9a21c8b6c64307fcb9 (patch) | |
tree | 08c400999033089c404f6477e27d499cb8e75b32 /ipsilon/admin/common.py | |
parent | fb1c34e7aeac67a75c29a132ded87edeb557cdaf (diff) | |
download | ipsilon.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-x | ipsilon/admin/common.py | 14 |
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']) |