예제 #1
0
    def __init__(self, **traits):
        """Initialise the object."""

        super(SecureHandler, self).__init__(**traits)

        get_permissions_manager().user_manager.on_trait_event(
            self._refresh, 'user_authenticated')
예제 #2
0
    def __init__(self, **traits):
        """Initialise the object."""

        super(Permission, self).__init__(**traits)

        # Register the permission.
        get_permissions_manager().policy_manager.register_permission(self)
예제 #3
0
    def __init__(self, **traits):
        """Initialise the object."""

        super(Permission, self).__init__(**traits)

        # Register the permission.
        get_permissions_manager().policy_manager.register_permission(self)
예제 #4
0
    def __init__(self, **traits):
        """Initialise the object."""

        super(SecureHandler, self).__init__(**traits)

        get_permissions_manager().user_manager.on_trait_event(self._refresh,
                'user_authenticated')
예제 #5
0
    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
예제 #6
0
    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
예제 #7
0
    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
예제 #8
0
    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
예제 #9
0
    def _get_granted(self):
        """Check the user has this permission."""

        return get_permissions_manager().check_permissions(self)
예제 #10
0
    def _get_granted(self):
        """Check the user has this permission."""

        return get_permissions_manager().check_permissions(self)