def testMenuOverride(self): self.assertEqual( component.queryMultiAdapter((ob, request), name='test'), None) testtemplate = os.path.join(tests_path, 'testfiles', 'test.pt') xmlconfig( StringIO(template % (''' <browser:menu id="test_menu" title="Test menu" /> <browser:page name="test" class="zope.app.component.tests.views.V1" for="zope.app.component.tests.views.IC" permission="zope.Public" template="%s" menu="test_menu" title="Test View" /> ''' % testtemplate))) menu1 = component.getUtility(IBrowserMenu, 'test_menu') menuItem1 = getFirstMenuItem('test_menu', ob, TestRequest()) xmlconfig( StringIO(template % (''' <browser:menu id="test_menu" title="Test menu" class="zope.app.publisher.browser.tests.support.M1" /> '''))) menu2 = component.getUtility(IBrowserMenu, 'test_menu') menuItem2 = getFirstMenuItem('test_menu', ob, TestRequest()) self.assertNotEqual(menu1, menu2) self.assertEqual(menuItem1, menuItem2)
def testPageInPagesWithClassWithMenu(self): self.assertEqual(zapi.queryMultiAdapter((ob, request), name='test'), None) testtemplate = os.path.join(tests_path, 'testfiles', 'test.pt') xmlconfig(StringIO(template % ( ''' <browser:menu id="test_menu" title="Test menu" /> <browser:pages for="zope.app.component.tests.views.IC" class="zope.app.component.tests.views.V1" permission="zope.Public"> <browser:page name="test" template="%s" menu="test_menu" title="Test View" /> </browser:pages> ''' % testtemplate ))) menuItem = getFirstMenuItem('test_menu', ob, TestRequest()) self.assertEqual(menuItem["title"], "Test View") self.assertEqual(menuItem["action"], "@@test") v = zapi.queryMultiAdapter((ob, request), name='test') self.assertEqual(v(), "<html><body><p>test</p></body></html>\n")
def testPageInPagesWithClassWithMenu(self): self.assertEqual( component.queryMultiAdapter((ob, request), name='test'), None) testtemplate = os.path.join(tests_path, 'testfiles', 'test.pt') xmlconfig( StringIO(template % (''' <browser:menu id="test_menu" title="Test menu" /> <browser:pages for="zope.app.component.tests.views.IC" class="zope.app.component.tests.views.V1" permission="zope.Public"> <browser:page name="test" template="%s" menu="test_menu" title="Test View" /> </browser:pages> ''' % testtemplate))) menuItem = getFirstMenuItem('test_menu', ob, TestRequest()) self.assertEqual(menuItem["title"], "Test View") self.assertEqual(menuItem["action"], "@@test") v = component.queryMultiAdapter((ob, request), name='test') self.assertEqual(v(), "<html><body><p>test</p></body></html>\n")
def __call__(self): item = getFirstMenuItem('zmi_views', self.context, self.request) if item: self.request.response.redirect(item['action']) return u'' self.request.response.redirect('.') # Redirect to content/ return u''
def __call__(self): item = getFirstMenuItem('zmi_views', self.context, self.request) if item: redirect_url = item['action'] if not (redirect_url.startswith('../') or \ redirect_url.lower().startswith('javascript:') or \ redirect_url.lower().startswith('++')): self.request.response.redirect(redirect_url) return u'' self.request.response.redirect('.') # Redirect to content/ return u''