summaryrefslogtreecommitdiffstats
path: root/ipsilon
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-03-27 12:56:28 -0400
committerSimo Sorce <simo@redhat.com>2014-03-28 17:10:32 -0400
commit7b56b1311ba0c730fa884c75ccf15dfbf996ebd8 (patch)
tree6a7385d9d3f74e06a28468e5faa15417fe60bd1f /ipsilon
parent0338db2eb3197ce0024d0192bd981120a58de573 (diff)
downloadipsilon.git-7b56b1311ba0c730fa884c75ccf15dfbf996ebd8.tar.gz
ipsilon.git-7b56b1311ba0c730fa884c75ccf15dfbf996ebd8.tar.xz
ipsilon.git-7b56b1311ba0c730fa884c75ccf15dfbf996ebd8.zip
Add generic support for IdP plugin admin pages
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipsilon')
-rwxr-xr-xipsilon/admin/providers.py5
-rwxr-xr-xipsilon/providers/common.py1
2 files changed, 5 insertions, 1 deletions
diff --git a/ipsilon/admin/providers.py b/ipsilon/admin/providers.py
index 26e96a7..1a2df7c 100755
--- a/ipsilon/admin/providers.py
+++ b/ipsilon/admin/providers.py
@@ -36,7 +36,10 @@ class ProviderPlugins(Page):
for plugin in self._site[FACILITY]['available']:
cherrypy.log.error('Admin provider plugin: %s' % plugin)
obj = self._site[FACILITY]['available'][plugin]
- self.__dict__[plugin] = AdminPluginPage(obj, self)
+ page = AdminPluginPage(obj, self._site, self)
+ if hasattr(obj, 'admin'):
+ obj.admin.mount(page)
+ self.add_subtree(plugin, page)
def root_with_msg(self, message=None, message_type=None):
plugins = self._site[FACILITY]
diff --git a/ipsilon/providers/common.py b/ipsilon/providers/common.py
index 8e62cbe..f9c1311 100755
--- a/ipsilon/providers/common.py
+++ b/ipsilon/providers/common.py
@@ -43,6 +43,7 @@ class ProviderBase(PluginObject):
super(ProviderBase, self).__init__()
self.name = name
self.path = path
+ self.admin = None
def _debug(self, fact):
if cherrypy.config.get('debug', False):