Beispiel #1
0
    def __bobo_traverse__(self, REQUEST, name):
        """Hook for Zope 2 traversal

        This method is called by Zope 2's ZPublisher upon traversal.
        It allows us to trick it into faking the Zope 3 traversal system
        by using an ITraverser adapter.
        """
        if not IBrowserRequest.providedBy(REQUEST):
            # Try to get the REQUEST by acquisition
            REQUEST = getattr(self, 'REQUEST', None)
            if not IBrowserRequest.providedBy(REQUEST):
                REQUEST = FakeRequest()

        # set the default skin on the request if it doesn't have any
        # layers set on it yet
        if queryType(REQUEST, ILayer) is None:
            setDefaultSkin(REQUEST)

        # con Zope 3 into using Zope 2's checkPermission
        newInteraction()
        try:
            return ITraverser(self).traverse(path=[name],
                                             request=REQUEST).__of__(self)
        except (ComponentLookupError, LookupError, AttributeError, KeyError,
                NotFound):
            pass
        try:
            return getattr(self, name)
        except AttributeError:
            pass
        try:
            return self[name]
        except (AttributeError, KeyError):
            pass
        return self.__fallback_traverse__(REQUEST, name)
Beispiel #2
0
    def __bobo_traverse__(self, REQUEST, name):
        """Hook for Zope 2 traversal

        This method is called by Zope 2's ZPublisher upon traversal.
        It allows us to trick it into faking the Zope 3 traversal system
        by using an ITraverser adapter.
        """
        if not IBrowserRequest.providedBy(REQUEST):
            # Try to get the REQUEST by acquisition
            REQUEST = getattr(self, 'REQUEST', None)
            if not IBrowserRequest.providedBy(REQUEST):
                REQUEST = FakeRequest()
        # con Zope 3 into using Zope 2's checkPermission
        newInteraction()

        try:
            return ITraverser(self).traverse(
                path=[name], request=REQUEST).__of__(self)
        except (ComponentLookupError, NotFoundError,
                AttributeError, KeyError, NotFound):
            pass

        try:
            return getattr(self, name)
        except AttributeError:
            pass
        try:
            return self[name]
        except (AttributeError, KeyError):
            pass
        return self.__fallback_traverse__(REQUEST, name)
 def testTimeReportView(self):
     from Products.Five.security import newInteraction
     newInteraction()
     html = self.getView('timereport')()
     self.assertTrue('Hour entry #1' in html)
     self.assertTrue('Hour entry #2' in html)
     self.assertTrue('Billable' in html)
     self.assertTrue('Administration' in html)
     self.assertTrue('2.0' in html)
     self.assertTrue('4.0' in html)
 def setUp(self):
     self.portal = self.layer['portal']
     subtyper = getUtility(ISubtyper)
     subtyper.change_type(self.portal.teamfolder, "teamfolder")
     self.portal.teamfolder.unrestrictedTraverse(
         "@@convert-to-teamfolder")()
     teamfolder = self.portal.teamfolder
     self.assign_team_view = teamfolder.unrestrictedTraverse("assign-team")
     sub_folder = teamfolder.subfolder1
     subtyper.change_type(sub_folder, "teamfolder")
     self.unconverted_assign_team_view = sub_folder.unrestrictedTraverse(
         "assign-team")
     # Create an interaction, so that we can use checkPermission
     newInteraction()
 def setUp(self):
     self.portal = self.layer['portal']
     subtyper = getUtility(ISubtyper)
     subtyper.change_type(self.portal.teamfolder, "teamfolder")
     self.portal.teamfolder.unrestrictedTraverse(
         "@@convert-to-teamfolder")()
     teamfolder = self.portal.teamfolder
     self.assign_team_view = teamfolder.unrestrictedTraverse("assign-team")
     sub_folder = teamfolder.subfolder1
     subtyper.change_type(sub_folder, "teamfolder")
     self.unconverted_assign_team_view = sub_folder.unrestrictedTraverse(
         "assign-team")
     # Create an interaction, so that we can use checkPermission
     newInteraction()
    def afterSetUp(self):
        global events_received
        events_received = []
        
        newInteraction() # workaround for problem with checkPermission

        self.intids = getUtility(IIntIds)
        
        self.folder.invokeFactory('Document', 'd1')
        self.folder['d1'].setTitle("Document one")
        self.folder['d1'].setDescription("Document one description")
        self.folder['d1'].setText("<p>Document one body</p>")
        
        relation = RelationValue(self.intids.getId(self.folder['d1']))
        self.folder.invokeFactory('collective.alias', 'a1', _aliasTarget=relation)
Beispiel #7
0
    def afterSetUp(self):
        """ Set up
        """
        self.setRoles(['Manager'])
        self.article = self.portal[self.portal.invokeFactory('News Item',
                                                             id='testArticle')]
        self.article.setTitle('TestTitle')
        self.article.setText('TestText')

        context = self.article
        alsoProvides(context.REQUEST, ILayer)
        view = context.restrictedTraverse('@@download.epub')
        self.response = view.request.response
        newInteraction()
        self.responseOutput = view()
Beispiel #8
0
    def afterSetUp(self):
        """ Set up
        """
        self.setRoles(['Manager'])
        self.article = self.portal[self.portal.invokeFactory(
                                    'News Item', id='testArticle')]
        self.article.setTitle('TestTitle')
        self.article.setText('TestText')

        context = self.article
        alsoProvides(context.REQUEST, ILayer)
        view = context.restrictedTraverse('@@download.epub')
        self.response = view.request.response
        newInteraction()
        self.responseOutput = view()
Beispiel #9
0
    def afterSetUp(self):
        global events_received
        events_received = []

        newInteraction()  # workaround for problem with checkPermission

        self.intids = getUtility(IIntIds)

        self.folder.invokeFactory('Document', 'd1')
        self.folder['d1'].setTitle("Document one")
        self.folder['d1'].setDescription("Document one description")
        self.folder['d1'].setText("<p>Document one body</p>")

        relation = RelationValue(self.intids.getId(self.folder['d1']))
        self.folder.invokeFactory('collective.alias',
                                  'a1',
                                  _aliasTarget=relation)
Beispiel #10
0
    def __bobo_traverse__(self, REQUEST, name):
        """Hook for Zope 2 traversal

        This method is called by Zope 2's ZPublisher upon traversal.
        It allows us to trick it into faking the Zope 3 traversal system
        by using an ITraverser adapter.
        """
        if not IBrowserRequest.providedBy(REQUEST):
            # Try to get the REQUEST by acquisition
            REQUEST = getattr(self, 'REQUEST', None)
            if not IBrowserRequest.providedBy(REQUEST):
                REQUEST = FakeRequest()

        # set the default skin on the request if it doesn't have any
        # layers set on it yet
        if queryType(REQUEST, ILayer) is None:
            setDefaultSkin(REQUEST)

        # con Zope 3 into using Zope 2's checkPermission
        newInteraction()
        try:
            return ITraverser(self).traverse(
                path=[name], request=REQUEST).__of__(self)
        except (ComponentLookupError, LookupError,
                AttributeError, KeyError, NotFound):
            pass
        try:
            return self.__fallback_traverse__(REQUEST, name)
        except NotImplementedError:
            pass
        # TODO: This should at least make an attempt to deal with
        # potential WebDAV issues, in particular we should not perform
        # acquisition for webdav requests. See BaseRequest.traverse for 
        # details.
        try:
            return getattr(self, name)
        except AttributeError:
            pass
        try:
            return self[name]
        except (AttributeError, KeyError):
            pass
        raise AttributeError, name
Beispiel #11
0
 def afterSetUp(self):
     self.checkPermission = zope.security.checkPermission
     newInteraction()
 def setUpPloneSite(self, portal):
     applyProfile(portal, 'bit.plone.multiportlet:default')
     setRoles(portal, TEST_USER_ID, ['Manager'])
     security.newInteraction()