-#!/usr/bin/python
-#
# Copyright (C) 2013 Simo Sorce <simo@redhat.com>
#
# see file 'COPYING' for use and warranty information
from ipsilon.login.common import Logout
from ipsilon.admin.common import Admin
from ipsilon.providers.common import LoadProviders
+from ipsilon.admin.info import InfoPlugins
+from ipsilon.admin.login import LoginPlugins
+from ipsilon.admin.providers import ProviderPlugins
import cherrypy
sites = dict()
class Root(Page):
def __init__(self, site, template_env):
- if not site in sites:
+ if site not in sites:
sites[site] = dict()
if template_env:
sites[site]['template_env'] = template_env
super(Root, self).__init__(sites[site])
+ self.html_heads = dict()
# set up error pages
cherrypy.config['error_page.400'] = errors.Error_400(self._site)
cherrypy.config['error_page.401'] = errors.Error_401(self._site)
+ cherrypy.config['error_page.404'] = errors.Error_404(self._site)
cherrypy.config['error_page.500'] = errors.Errors(self._site)
# now set up the default login plugins
LoadProviders(self, self._site)
# after all plugins are setup we can instantiate the admin pages
- self.admin = Admin(self._site)
+ self.admin = Admin(self._site, 'admin')
+ InfoPlugins(self._site, self.admin)
+ LoginPlugins(self._site, self.admin)
+ ProviderPlugins(self._site, self.admin)
def root(self):
- return self._template('index.html', title='Ipsilon')
+ self.debug(self.html_heads)
+ return self._template('index.html', title='Ipsilon',
+ heads=self.html_heads)