def __init__(self, site, config): super(Saml2AdminPage, self).__init__(site) self.name = 'admin' self.cfg = config self.providers = [] self.menu = [] self.url = None self.sp = AdminPage(self._site)
class Saml2AdminPage(AdminPage): def __init__(self, site, config): super(Saml2AdminPage, self).__init__(site) self.name = 'admin' self.cfg = config self.providers = [] self.menu = [] self.url = None self.sp = AdminPage(self._site) def add_sp(self, name, sp): page = SPAdminPage(sp, self._site, self) self.sp.add_subtree(name, page) self.providers.append(sp) return page def rename_sp(self, oldname, newname): page = getattr(self.sp, oldname) self.sp.del_subtree(oldname) self.sp.add_subtree(newname, page) def del_sp(self, name): try: page = getattr(self.sp, name) self.providers.remove(page.sp) self.sp.del_subtree(name) except Exception, e: # pylint: disable=broad-except self.debug("Failed to remove provider %s: %s" % (name, str(e)))
class Saml2AdminPage(AdminPage): def __init__(self, site, config): super(Saml2AdminPage, self).__init__(site) self.name = 'admin' self.cfg = config self.providers = [] self.menu = [] self.url = None self.sp = AdminPage(self._site) def add_sp(self, name, sp): page = SPAdminPage(sp, self._site, self) self.sp.add_subtree(name, page) self.providers.append(sp) return page def rename_sp(self, oldname, newname): page = getattr(self.sp, oldname) self.sp.del_subtree(oldname) self.sp.add_subtree(newname, page) def del_sp(self, name): try: page = getattr(self.sp, name) self.providers.remove(page.sp) self.sp.del_subtree(name) except Exception as e: # pylint: disable=broad-except self.debug("Failed to remove provider %s: %s" % (name, str(e))) def add_sps(self): if self.cfg.idp: for p in self.cfg.idp.get_providers(): try: sp = ServiceProvider(self.cfg, p) self.del_sp(sp.name) self.add_sp(sp.name, sp) except Exception as e: # pylint: disable=broad-except self.debug("Failed to find provider %s: %s" % (p, str(e))) def mount(self, page): self.menu = page.menu self.url = '%s/%s' % (page.url, self.name) self.add_sps() self.add_subtree('new', NewSPAdminPage(self._site, self)) page.add_subtree(self.name, self) def root(self, *args, **kwargs): return self._template('admin/providers/saml2.html', title='SAML2 Administration', providers=self.providers, baseurl=self.url, menu=self.menu)