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)
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 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)
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()
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()
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
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()