Example #1
0
 def registerTraversalHook(self):
     parent = aq_parent(aq_inner(self))
     if not self.hasTraversalHook(parent):
         hook = BrowserIdManagerTraverser()
         name = TRAVERSAL_APPHANDLE
         priority = 40  # "higher" priority than session data traverser
         registerBeforeTraverse(parent, hook, name, priority)
 def test_w_rule_invalid(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     registerBeforeTraverse(container, DummyObject(), 'AccessRule')
     self.assertTrue(
         self._callFUT(container).startswith(
             'Invalid BeforeTraverse data: '))
Example #3
0
 def registerTraversalHook(self):
     parent = aq_parent(aq_inner(self))
     if not self.hasTraversalHook(parent):
         hook = BrowserIdManagerTraverser()
         name = TRAVERSAL_APPHANDLE
         priority = 40  # "higher" priority than session data traverser
         registerBeforeTraverse(parent, hook, name, priority)
Example #4
0
 def manage_hook(self, hook=0):
     """ """
     if hook != self.hooked():
         if hook:
             hook = NameCaller(self.id)
             registerBeforeTraverse(self.aq_parent, hook, self.meta_type)
         else:
             unregisterBeforeTraverse(self.aq_parent, self.meta_type)
 def test_manage_beforeDelete_item_is_self(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     traverser = self._makeOne()
     container = DummyContainer()
     other = container.other = DummyObject(name='other')
     registerBeforeTraverse(container, other, 'Traverser', 100)
     traverser.manage_beforeDelete(traverser, container)
     self.assertFalse(container.__before_traverse__)
 def test_manage_beforeDelete_item_is_self(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     traverser = self._makeOne()
     container = DummyContainer()
     other = container.other = DummyObject(name='other')
     registerBeforeTraverse(container, other, 'Traverser', 100)
     traverser.manage_beforeDelete(traverser, container)
     self.assertFalse(container.__before_traverse__)
Example #7
0
 def manage_hook(self, hook=0):
     """ """
     if hook != self.hooked():
         if hook:
             hook = NameCaller(self.id)
             registerBeforeTraverse(aq_parent(self), hook, self.meta_type)
         else:
             unregisterBeforeTraverse(aq_parent(self), self.meta_type)
 def test_no_method_id_w_existing_rules_no_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     result = self._callFUT(container, None, None)
     self.assertTrue(result is None)
     self.assertFalse(container.__before_traverse__)
     self.assertFalse('icon' in old_rule.__dict__)
Example #9
0
    def manage_afterAdd(self, item, container):
        if item is self:
            id = self.id
            if callable(id): id = id()

            # We want the original object, not stuff in between
            container = container.this()
            hook = NameCaller(id)
            registerBeforeTraverse(container, hook, self.meta_type,
                                   self.priority)
 def test_no_method_id_w_existing_rules_no_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     result = self._callFUT(container, None, None)
     self.assertTrue(result is None)
     self.assertFalse(container.__before_traverse__)
     self.assertFalse('icon' in old_rule.__dict__)
 def test_manage_beforeDelete_item_is_not_self(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     traverser = self._makeOne()
     container = DummyContainer()
     other = container.other = DummyObject(name='other')
     registerBeforeTraverse(container, other, 'Traverser', 100)
     item = object()
     traverser.manage_beforeDelete(item, container)
     hook = container.__before_traverse__[(100, 'Traverser')]
     self.assertEqual(hook.name, 'other')
Example #12
0
def main(root):
    sdm = root._getOb('session_data_manager', None)
    if sdm is not None:
        sdm.updateTraversalData(requestSessionName=None)

    registerBeforeTraverse(root, ssc_hook, 'sessioncookie', 50)
    root.sessioncookie_installed = True

    print('zope2.sessioncookie hook installed!')
    transaction.commit()
 def test_manage_beforeDelete_item_is_not_self(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     traverser = self._makeOne()
     container = DummyContainer()
     other = container.other = DummyObject(name='other')
     registerBeforeTraverse(container, other, 'Traverser', 100)
     item = object()
     traverser.manage_beforeDelete(item, container)
     hook = container.__before_traverse__[(100, 'Traverser')]
     self.assertEqual(hook.name, 'other')
Example #14
0
def Localizer_moved(object, event):
    container = event.oldParent
    if container is not None:
        unregisterBeforeTraverse(container, object.meta_type)

    container = event.newParent
    if container is not None:
        id = object.id
        container = container.this()
        hook = NameCaller(id)
        registerBeforeTraverse(container, hook, object.meta_type)
Example #15
0
    def manage_afterAdd(self, item, container):
        if item is self:
            id = self.id
            if callable(id): id = id()

            # We want the original object, not stuff in between
            container = container.this()
            hook = NameCaller(id)
            registerBeforeTraverse(container, hook,
                                                  self.meta_type,
                                                  self.priority)
Example #16
0
def Localizer_moved(object, event):
    container = event.oldParent
    if container is not None:
        unregisterBeforeTraverse(container, object.meta_type)

    container = event.newParent
    if container is not None:
        id = object.id
        container = container.this()
        hook = NameCaller(id)
        registerBeforeTraverse(container, hook, object.meta_type)
 def test_w_invalid_method_id_w_existing_rules_no_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     result = self._callFUT(container, 'nonesuch', None)
     self.assertTrue(result is None)
     self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(99, 'AccessRule')]
     self.assertEqual(rule.name, 'old_rule')
     self.assertEqual(old_rule.icon, 'rule_icon.jpg')
 def test_w_invalid_method_id_w_existing_rules_no_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     result = self._callFUT(container, 'nonesuch', None)
     self.assertTrue(result is None)
     self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(99, 'AccessRule')]
     self.assertEqual(rule.name, 'old_rule')
     self.assertEqual(old_rule.icon, 'rule_icon.jpg')
 def test_w_method_id_w_existing_rules_w_request_none(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     request = DummyRequest(URL1 = 'http://example.com/')
     request.form = {'none': '1'}
     result = self._callFUT(container, None, request)
     self.assertTrue(isinstance(result, str))
     self.assertTrue('<TITLE>No Access Rule</TITLE>' in result)
     self.assertFalse(container.__before_traverse__)
     self.assertFalse('icon' in old_rule.__dict__)
    def manage_afterAdd(self, item, container):
        if item is self:
            if queryBeforeTraverse(container, self.meta_type):
                raise BadRequest, ('This container already has a %s' %
                                   self.meta_type)
            id = self.id
            if callable(id): id = id()

            # We want the original object, not stuff in between
            container = container.this()
            hook = NameCaller(id)
            registerBeforeTraverse(container, hook, self.meta_type,
                                   self.priority)
Example #21
0
def enableAccessEventHook(obj, hook_class, hook_name):
    """Install __before_traverse__ hook for redirection
    """
    # We want the original object, not stuff in between, and no acquisition
    obj = aq_base(obj)

    # disable any existing redirection hooks
    if hasattr(obj, hook_name):
        disableAccessEventHook(obj, hook_name)

    hook = AccessRule(hook_name)
    registerBeforeTraverse(obj, hook, hook_name, 1)
    setattr(obj, hook_name, hook_class())
 def test_w_method_id_w_existing_rules_w_request_none(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     request = DummyRequest(URL1='http://example.com/')
     request.form = {'none': '1'}
     result = self._callFUT(container, None, request)
     self.assertTrue(isinstance(result, str))
     self.assertTrue('<TITLE>No Access Rule</TITLE>' in result)
     self.assertFalse(container.__before_traverse__)
     self.assertFalse('icon' in old_rule.__dict__)
Example #23
0
    def manage_afterAdd(self, item, container):
        if item is self:
            if queryBeforeTraverse(container, self.meta_type):
                raise BadRequest('This container already has a %s' %
                                 self.meta_type)
            id = self.id
            if callable(id):
                id = id()

            # We want the original object, not stuff in between
            container = container.this()
            hook = NameCaller(id)
            registerBeforeTraverse(
                container, hook, self.meta_type, self.priority)
Example #24
0
def enableLocalSiteHook(obj):
    """Install __before_traverse__ hook for Local Site
    """
    # We want the original object, not stuff in between, and no acquisition
    obj = aq_base(obj)
    if not IPossibleSite.providedBy(obj):
        raise TypeError, 'Must provide IPossibleSite'
    hook = AccessRule(HOOK_NAME)
    registerBeforeTraverse(obj, hook, HOOK_NAME, 1)

    if not hasattr(obj, HOOK_NAME):
        setattr(obj, HOOK_NAME, LocalSiteHook())

    directlyProvides(obj, ISite, directlyProvidedBy(obj))
Example #25
0
def enableLocalSiteHook(obj):
    """Install __before_traverse__ hook for Local Site
    """
    # We want the original object, not stuff in between, and no acquisition
    obj = aq_base(obj)
    if not IPossibleSite.providedBy(obj):
        raise TypeError, 'Must provide IPossibleSite'
    hook = AccessRule(HOOK_NAME)
    registerBeforeTraverse(obj, hook, HOOK_NAME, 1)

    if not hasattr(obj, HOOK_NAME):
        setattr(obj, HOOK_NAME, LocalSiteHook())

    directlyProvides(obj, ISite, directlyProvidedBy(obj))
Example #26
0
def enableSite(obj, iface=ISite):
    """Install __before_traverse__ hook for Local Site
    """
    # We want the original object, not stuff in between, and no acquisition
    obj = aq_base(obj)
    if not IPossibleSite.providedBy(obj):
        raise TypeError('Must provide IPossibleSite')
    hook = NameCaller(HOOK_NAME)
    registerBeforeTraverse(obj, hook, HOOK_NAME, 1)

    if not hasattr(obj, HOOK_NAME):
        setattr(obj, HOOK_NAME, LocalSiteHook())

    zope.interface.alsoProvides(obj, iface)
 def test_w_invalid_method_id_w_existing_rules_w_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     request = DummyRequest(URL1='http://example.com/')
     request.form = {}
     result = self._callFUT(container, 'nonesuch', request)
     self.assertTrue(isinstance(result, str))
     self.assertTrue('<TITLE>Invalid Method Id</TITLE>' in result)
     self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(99, 'AccessRule')]
     self.assertEqual(rule.name, 'old_rule')
     self.assertEqual(old_rule.icon, 'rule_icon.jpg')
 def test_w_valid_method_id_w_existing_rules_no_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     new_rule = container.new_rule = DummyObject(name='new_rule')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     result = self._callFUT(container, 'new_rule', None)
     self.assertTrue(result is None)
     self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
     self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(1, 'AccessRule')]
     self.assertEqual(rule.name, 'new_rule')
     self.assertFalse('icon' in old_rule.__dict__)
     self.assertEqual(new_rule.icon, 'misc_/SiteAccess/AccessRule.gif')
    def updateTraversalData(self, requestSessionName=None):
        # Note this can't be called directly at add -- manage_afterAdd will
        # work though.
        parent = self.aq_inner.aq_parent

        if getattr(self,'_hasTraversalHook', None):
            unregisterBeforeTraverse(parent, 'BeakerSessionDataManager')
            del self._hasTraversalHook
            self._requestSessionName = None

        if requestSessionName:
            hook = SessionDataManagerTraverser(requestSessionName, self.id)
            registerBeforeTraverse(parent, hook, 'BeakerSessionDataManager', 50)
            self._hasTraversalHook = 1
            self._requestSessionName = requestSessionName
Example #30
0
    def updateTraversalData(self, requestSessionName=None):
        """."""
        parent = aq_parent(aq_inner(self))

        if getattr(self, '_hasTraversalHook', None):
            unregisterBeforeTraverse(parent, 'BeakerSessionDataManager')
            del self._hasTraversalHook
            self._requestSessionName = None

        if requestSessionName:
            hook = SessionDataManagerTraverser(requestSessionName, self.id)
            registerBeforeTraverse(parent, hook, 'BeakerSessionDataManager',
                                   50)
            self._hasTraversalHook = 1
            self._requestSessionName = requestSessionName
 def test_w_valid_method_id_w_existing_rules_no_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     new_rule = container.new_rule = DummyObject(name='new_rule')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     result = self._callFUT(container, 'new_rule', None)
     self.assertTrue(result is None)
     self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
     self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(1, 'AccessRule')]
     self.assertEqual(rule.name, 'new_rule')
     self.assertFalse('icon' in old_rule.__dict__)
     self.assertEqual(new_rule.icon, 'misc_/SiteAccess/AccessRule.gif')
 def test_w_invalid_method_id_w_existing_rules_w_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     request = DummyRequest(URL1 = 'http://example.com/')
     request.form = {}
     result = self._callFUT(container, 'nonesuch', request)
     self.assertTrue(isinstance(result, str))
     self.assertTrue('<TITLE>Invalid Method Id</TITLE>' in result)
     self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(99, 'AccessRule')]
     self.assertEqual(rule.name, 'old_rule')
     self.assertEqual(old_rule.icon, 'rule_icon.jpg')
Example #33
0
    def updateTraversalData(self, requestSessionName=None):
        # Note this cant be called directly at add -- manage_afterAdd will
        # work though.
        parent = self.aq_inner.aq_parent

        if getattr(self, '_hasTraversalHook', None):
            unregisterBeforeTraverse(parent, 'SessionDataManager')
            del self._hasTraversalHook
            self._requestSessionName = None

        if requestSessionName:
            hook = SessionDataManagerTraverser(requestSessionName, self.id)
            registerBeforeTraverse(parent, hook, 'SessionDataManager', 50)
            self._hasTraversalHook = 1
            self._requestSessionName = requestSessionName
def add_hook(context):
    """Add local site hook with before traverse event.

    Check to see if the current object already has a LocalSiteHook
    from Five registered. If not, then register one ourselves, going
    around ``enableSite`` since we don't want to make this object a
    full ``ISite``, but just get the ``BeforeTraverseEvent`` fired.
    """
    base_object = aq_base(context)
    if hasattr(base_object, HOOK_NAME):
        return
    logger.info("Adding local site hook with before traverse hook at %s",
                context.absolute_url())
    hook = AccessRule(HOOK_NAME)
    registerBeforeTraverse(base_object, hook, HOOK_NAME, 1)
    setattr(base_object, HOOK_NAME, LocalSiteHook())
 def test_w_valid_method_id_w_existing_rules_w_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     new_rule = container.new_rule = DummyObject(name='new_rule')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     request = DummyRequest(URL1='http://example.com/')
     request.form = {}
     result = self._callFUT(container, 'new_rule', request)
     self.assertTrue(isinstance(result, str))
     self.assertTrue('<TITLE>Access Rule Set</TITLE>' in result)
     self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
     self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(1, 'AccessRule')]
     self.assertEqual(rule.name, 'new_rule')
     self.assertFalse('icon' in old_rule.__dict__)
     self.assertEqual(new_rule.icon, 'misc_/SiteAccess/AccessRule.gif')
 def test_w_valid_method_id_w_existing_rules_w_request(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     old_rule = container.old_rule = DummyObject(name='old_rule',
                                                 icon='rule_icon.jpg')
     new_rule = container.new_rule = DummyObject(name='new_rule')
     registerBeforeTraverse(container, old_rule, 'AccessRule')
     request = DummyRequest(URL1 = 'http://example.com/')
     request.form = {}
     result = self._callFUT(container, 'new_rule', request)
     self.assertTrue(isinstance(result, str))
     self.assertTrue('<TITLE>Access Rule Set</TITLE>' in result)
     self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
     self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
     rule = container.__before_traverse__[(1, 'AccessRule')]
     self.assertEqual(rule.name, 'new_rule')
     self.assertFalse('icon' in old_rule.__dict__)
     self.assertEqual(new_rule.icon, 'misc_/SiteAccess/AccessRule.gif')
Example #37
0
def manage_addAccessRule(self, method_id=None, REQUEST=None, **ignored):
    """Point a __before_traverse__ entry at the specified method"""
    # We want the original object, not stuff in between, and no acquisition
    self = self.this()
    self = getattr(self, 'aq_base', self)
    priority = (1, 'AccessRule')

    if method_id is None or (REQUEST and REQUEST.form.has_key('none')):
        rules = unregisterBeforeTraverse(self, 'AccessRule')
        if rules:
            try:
                del getattr(self, rules[0].name).icon
            except:
                pass
        if REQUEST:
            return MessageDialog(title='No Access Rule',
                                 message='This object now has no Access Rule',
                                 action='%s/manage_main' % REQUEST['URL1'])
    elif method_id and hasattr(self, method_id):
        rules = unregisterBeforeTraverse(self, 'AccessRule')
        if rules:
            try:
                del getattr(self, rules[0].name).icon
            except:
                pass
        hook = AccessRule(method_id)
        registerBeforeTraverse(self, hook, 'AccessRule', 1)
        try:
            getattr(self, method_id).icon = 'misc_/SiteAccess/AccessRule.gif'
        except:
            pass
        if REQUEST:
            return MessageDialog(
                title='Access Rule Set',
                message='"%s" is now the Access Rule for this object' %
                escape(method_id),
                action='%s/manage_main' % REQUEST['URL1'])
    else:
        if REQUEST:
            return MessageDialog(
                title='Invalid Method Id',
                message='"%s" is not the Id of a method of this object' %
                escape(method_id),
                action='%s/manage_main' % REQUEST['URL1'])
Example #38
0
def manage_addAccessRule(self, method_id=None, REQUEST=None, **ignored):
    """Point a __before_traverse__ entry at the specified method"""
    # We want the original object, not stuff in between, and no acquisition
    self = self.this()
    self = getattr(self, 'aq_base', self)
    priority = (1, 'AccessRule')

    if method_id is None or (REQUEST and REQUEST.form.has_key('none')):
        rules = unregisterBeforeTraverse(self, 'AccessRule')
        if rules:
            try:
                del getattr(self, rules[0].name).icon
            except:
                pass
        if REQUEST:
            return MessageDialog(title='No Access Rule',
              message='This object now has no Access Rule',
              action='%s/manage_main' % REQUEST['URL1'])
    elif method_id and hasattr(self, method_id):
        rules = unregisterBeforeTraverse(self, 'AccessRule')
        if rules:
            try:
                del getattr(self, rules[0].name).icon
            except:
                pass
        hook = AccessRule(method_id)
        registerBeforeTraverse(self, hook, 'AccessRule', 1)
        try:
            getattr(self, method_id).icon = 'misc_/SiteAccess/AccessRule.gif'
        except:
            pass
        if REQUEST:
            return MessageDialog(title='Access Rule Set',
              message='"%s" is now the Access Rule for this object'
                      % escape(method_id),
              action='%s/manage_main' % REQUEST['URL1'])
    else:
        if REQUEST:
            return MessageDialog(title='Invalid Method Id',
              message='"%s" is not the Id of a method of this object'
                      % escape(method_id),
              action='%s/manage_main' % REQUEST['URL1'])
Example #39
0
def siteAdded(context, event):
    """
      objectModified event on simple siteModified.
      this code from collective.editsiteswitcher.
    """

    """Add local site hook with before traverse event.

    Check to see if the current object already has a LocalSiteHook
    from Five registered. If not, then register one ourselves, going
    around ``enableSite`` since we don't want to make this object a
    full ``ISite``, but just get the ``BeforeTraverseEvent`` fired.
    """

    # import pdb; pdb.set_trace()
    base_object = aq_base(context)
    if hasattr(base_object, HOOK_NAME):
        return
    hook = AccessRule(HOOK_NAME)
    registerBeforeTraverse(base_object, hook, HOOK_NAME, 1)
    setattr(base_object, HOOK_NAME, LocalSiteHook())
 def test_w_rule_valid(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     registerBeforeTraverse(container, DummyObject(name='foo'),
                            'AccessRule')
     self.assertEqual(self._callFUT(container), 'foo')
Example #41
0
File: utils.py Project: dtgit/dtedu
 def manage_afterAdd(self, item, container):
     """Register traversal hooks to add SESSION to request
     """
     parent = self.aq_inner.aq_parent
     hook = DummySDMTraverseHook()
     registerBeforeTraverse(parent, hook, 'SessionDataManager', 50)
 def test_w_rule_invalid(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     registerBeforeTraverse(container, DummyObject(), 'AccessRule')
     self.assertTrue(self._callFUT(container).startswith(
                                     'Invalid BeforeTraverse data: '))
 def test_w_rule_valid(self):
     from ZPublisher.BeforeTraverse import registerBeforeTraverse
     container = DummyContainer()
     registerBeforeTraverse(container, DummyObject(name='foo'), 'AccessRule')
     self.assertEqual(self._callFUT(container), 'foo')
Example #44
0
 def register_app_hook(self):
     """Separate method for easy re-use with mixed inheritance"""
     registerBeforeTraverse(self, enable_app_layer(), 'enable_app_layer')
Example #45
0
 def register_app_hook(self):
     """Separate method for easy re-use with mixed inheritance"""
     registerBeforeTraverse(self, enable_app_layer(), 'enable_app_layer')
Example #46
0
 def manage_afterAdd(self, item, container):
     if item is self:
         id = self.id
         container = container.this()
         hook = NameCaller(id)
         registerBeforeTraverse(container, hook, self.meta_type)