def __init__(self, **traits): """Initialise the object.""" super(SecureHandler, self).__init__(**traits) get_permissions_manager().user_manager.on_trait_event( self._refresh, 'user_authenticated')
def __init__(self, **traits): """Initialise the object.""" super(Permission, self).__init__(**traits) # Register the permission. get_permissions_manager().policy_manager.register_permission(self)
def __init__(self, **traits): """Initialise the object.""" super(SecureHandler, self).__init__(**traits) get_permissions_manager().user_manager.on_trait_event(self._refresh, 'user_authenticated')
def factory(cls, proxied, permissions, show): """Return an adapter for the proxied object. permissions is a list of permissions to attach to the object. show is set if the proxied object should be visible when it is disabled. """ # Find a suitable adapter type. for object_type, adapter_type in cls._adapter_types.items(): if isinstance(proxied, object_type): break else: raise TypeError, "no SecureProxy adapter registered for %s" % proxied adapter = adapter_type(proxied=proxied, permissions=permissions, show=show) # Refresh the state of the object when the authentication state of the # current user changes. get_permissions_manager().user_manager.on_trait_event(adapter._refresh, 'user_authenticated') return adapter
def factory(cls, proxied, permissions, show): """Return an adapter for the proxied object. permissions is a list of permissions to attach to the object. show is set if the proxied object should be visible when it is disabled. """ # Find a suitable adapter type. for object_type, adapter_type in cls._adapter_types.items(): if isinstance(proxied, object_type): break else: raise TypeError, "no SecureProxy adapter registered for %s" % proxied adapter = adapter_type(proxied=proxied, permissions=permissions, show=show) # Refresh the state of the object when the authentication state of the # current user changes. get_permissions_manager().user_manager.on_trait_event( adapter._refresh, 'user_authenticated') return adapter
def update_visible(self, value): """Update the proxied object after a possible new value of the visible attribute. """ if self.show: self.set_visible(value) elif get_permissions_manager().check_permissions(*self.permissions): self.set_visible(value) else: self.set_visible(False) # Save the desired value so that it can be checked if the user becomes # authenticated. self._desired_visible = value
def _get_granted(self): """Check the user has this permission.""" return get_permissions_manager().check_permissions(self)