X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=ipsilon%2Froot.py;h=e21411579afa5e4f217dc9b62e5982abe6676b89;hp=413f4537d37849d9611b4b36788af47145757c9c;hb=f461a713ce28e434a34dca4e4d1abbfe255ef1ff;hpb=b45786fa5c96cd18f6b62f1bb9a907f9da2e233b diff --git a/ipsilon/root.py b/ipsilon/root.py index 413f453..e214115 100755 --- a/ipsilon/root.py +++ b/ipsilon/root.py @@ -23,6 +23,9 @@ from ipsilon.login.common import Login 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() @@ -31,15 +34,17 @@ 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 @@ -50,7 +55,12 @@ class Root(Page): 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)