Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
def GET(self, *args, **kwargs):
return self.parent.root_with_msg()
def GET(self, *args, **kwargs):
return self.parent.root_with_msg()
+ def _get_enabled_by_name(self):
+ by_name = dict()
+ for p in self._site[self.facility]['available'].values():
+ if p.is_enabled:
+ by_name[p.name] = p
+ return by_name
+
@admin_protect
def POST(self, *args, **kwargs):
message = "Nothing was modified."
message_type = "info"
@admin_protect
def POST(self, *args, **kwargs):
message = "Nothing was modified."
message_type = "info"
- by_name = {p.name: p for p in self._site[self.facility]['enabled']}
+ by_name = self._get_enabled_by_name()
if 'order' in kwargs:
order = kwargs['order'].split(',')
if 'order' in kwargs:
order = kwargs['order'].split(',')
enabled = []
if self.order:
for plugin in plugins['enabled']:
enabled = []
if self.order:
for plugin in plugins['enabled']:
- enabled.append(plugin.name)
+ if plugin.is_enabled:
+ enabled.append(plugin.name)
else:
for _, plugin in plugins['available'].iteritems():
if plugin.is_enabled:
else:
for _, plugin in plugins['available'].iteritems():
if plugin.is_enabled:
def __init__(self):
super(InfoProviderBase, self).__init__()
self._site = None
def __init__(self):
super(InfoProviderBase, self).__init__()
self._site = None
+ self.is_enabled = False
def get_user_attrs(self, user):
raise NotImplementedError
def get_user_attrs(self, user):
raise NotImplementedError
- @property
- def is_enabled(self):
- if self._site:
- return self in self._site[FACILITY]['enabled']
- return False
-
- self._site = site
- plugins = site[FACILITY]
- if self in plugins['enabled']:
+ if not self._site:
+ self._site = site
+ plugins = self._site[FACILITY]
+
# configure self
if self.name in plugins['config']:
self.set_config(plugins['config'][self.name])
plugins['enabled'].append(self)
# configure self
if self.name in plugins['config']:
self.set_config(plugins['config'][self.name])
plugins['enabled'].append(self)
self.debug('Info plugin enabled: %s' % self.name)
def disable(self, site):
self.debug('Info plugin enabled: %s' % self.name)
def disable(self, site):
- self._site = site
- plugins = site[FACILITY]
- if self not in plugins['enabled']:
+ if not self.is_enabled:
+ plugins = self._site[FACILITY]
plugins['enabled'].remove(self)
plugins['enabled'].remove(self)
+ self.is_enabled = False
self.debug('Info plugin disabled: %s' % self.name)
self.debug('Info plugin disabled: %s' % self.name)
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-from ipsilon.util.log import Log
from ipsilon.util.page import Page
from ipsilon.util.user import UserSession
from ipsilon.util.plugin import PluginLoader, PluginObject
from ipsilon.util.page import Page
from ipsilon.util.user import UserSession
from ipsilon.util.plugin import PluginLoader, PluginObject
USERNAME_COOKIE = 'ipsilon_default_username'
USERNAME_COOKIE = 'ipsilon_default_username'
-class LoginManagerBase(PluginObject, Log):
+class LoginManagerBase(PluginObject):
def __init__(self):
super(LoginManagerBase, self).__init__()
def __init__(self):
super(LoginManagerBase, self).__init__()
self.path = '/'
self.next_login = None
self.info = None
self.path = '/'
self.next_login = None
self.info = None
+ self.is_enabled = False
def redirect_to_path(self, path):
base = cherrypy.config.get('base.mount', "")
def redirect_to_path(self, path):
base = cherrypy.config.get('base.mount', "")
def get_tree(self, site):
raise NotImplementedError
def get_tree(self, site):
raise NotImplementedError
- @property
- def is_enabled(self):
- if self._site:
- return self in self._site[FACILITY]['enabled']
- return False
-
- self._site = site
- plugins = site[FACILITY]
- if self in plugins['enabled']:
+ if not self._site:
+ self._site = site
+ plugins = self._site[FACILITY]
+
# configure self
if self.name in plugins['config']:
self.set_config(plugins['config'][self.name])
# configure self
if self.name in plugins['config']:
self.set_config(plugins['config'][self.name])
root.first_login = self
plugins['enabled'].append(self)
root.first_login = self
plugins['enabled'].append(self)
self._debug('Login plugin enabled: %s' % self.name)
# Get handle of the info plugin
self.info = root.info
def disable(self, site):
self._debug('Login plugin enabled: %s' % self.name)
# Get handle of the info plugin
self.info = root.info
def disable(self, site):
- self._site = site
- plugins = site[FACILITY]
- if self not in plugins['enabled']:
+ if not self.is_enabled:
+ plugins = self._site[FACILITY]
+
# remove self from chain
root = plugins['root']
if root.first_login == self:
# remove self from chain
root = plugins['root']
if root.first_login == self:
self.next_login = None
plugins['enabled'].remove(self)
self.next_login = None
plugins['enabled'].remove(self)
+ self.is_enabled = False
self._debug('Login plugin disabled: %s' % self.name)
self._debug('Login plugin disabled: %s' % self.name)
self.name = name
self.path = path
self.tree = None
self.name = name
self.path = path
self.tree = None
+ self.is_enabled = False
def on_enable(self):
# this one does nothing
def on_enable(self):
# this one does nothing
self._debug('IdP Provider registered: %s' % self.name)
if self.get_config_value('enabled') == '1':
self._debug('IdP Provider registered: %s' % self.name)
if self.get_config_value('enabled') == '1':
- # and add self to the root
- root = site[FACILITY]['root']
- root.add_subtree(self.name, self.tree)
- self._debug('IdP Provider enabled: %s' % self.name)
+ # and enable self
+ self._enable(site)
- @property
- def is_enabled(self):
- if self.get_config_value('enabled') == '1':
- return True
- return False
+ def _enable(self, site):
+ root = site[FACILITY]['root']
+ root.add_subtree(self.name, self.tree)
+ self._debug('IdP Provider enabled: %s' % self.name)
+ self.is_enabled = True
+ self.on_enable()
def enable(self, site):
if self.is_enabled:
return
def enable(self, site):
if self.is_enabled:
return
- # and add self to the root
- root = site[FACILITY]['root']
- root.add_subtree(self.name, self.tree)
-
self.set_config_value('enabled', '1')
self.save_plugin_config(FACILITY)
self.set_config_value('enabled', '1')
self.save_plugin_config(FACILITY)
- self.on_enable()
- self._debug('IdP Provider enabled: %s' % self.name)
-
def disable(self, site):
if not self.is_enabled:
return
def disable(self, site):
if not self.is_enabled:
return
root = site[FACILITY]['root']
root.del_subtree(self.name)
root = site[FACILITY]['root']
root.del_subtree(self.name)
+ self.is_enabled = False
self.set_config_value('enabled', '0')
self.save_plugin_config(FACILITY)
self._debug('IdP Provider disabled: %s' % self.name)
self.set_config_value('enabled', '0')
self.save_plugin_config(FACILITY)
self._debug('IdP Provider disabled: %s' % self.name)