Author: duffyd Date: Mon May 10 13:24:48 2010 New Revision: 36548 Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/ (props changed) plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/docs/HISTORY.txt plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/configure.zcml plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/manage.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/templates/manage-dashboard.pt plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.pt plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/events.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.pt plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/news.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/recent.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/search.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_cache.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_configuration.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_events_portlet.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_navigation_portlet.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_news_portlet.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_recent_portlet.py plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_utils.py Log: After merging with latest plip #234 branch from calvinhp. Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/docs/HISTORY.txt ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/docs/HISTORY.txt (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/docs/HISTORY.txt Mon May 10 13:24:48 2010 @@ -4,6 +4,21 @@ plone.app.portlets 1.1.6 (Unreleased) + - Made the test independent of default content created in a site. This + allows them to pass in both Plone 3.x and 4.x. + [hannosch] + + - Added inherited portlets to manage view. This implements + http://dev.plone.org/plone/ticket/8426. + [malthe] + + - Modified a macro call in portlets-pageform.pt for forwards + compatibility with Zope 2.12. + [davisagli] + + - Fixed SyntaxErrors in test_cache and test_configuration. + [hannosch] + - Fixed Review List template that was making a bad call to pretty_title_or_id. This closes http://dev.plone.org/plone/ticket/8401. [dunlapm] Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/configure.zcml ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/configure.zcml (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/configure.zcml Mon May 10 13:24:48 2010 @@ -81,7 +81,7 @@ </browser:pages> <browser:page - for="Products.CMFCore.interfaces.ISiteRoot" + for="plone.app.layout.navigation.interfaces.INavigationRoot" class=".manage.ManageDashboardPortlets" name="manage-dashboard" template="templates/manage-dashboard.pt" Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/manage.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/manage.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/manage.py Mon May 10 13:24:48 2010 @@ -284,4 +284,4 @@ """A viewlet base class for viewlets that need to render on the manage content type portlets screen. """ - implements(IManageContentTypePortletsView) \ No newline at end of file + implements(IManageContentTypePortletsView) Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/templates/manage-dashboard.pt ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/templates/manage-dashboard.pt (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/browser/templates/manage-dashboard.pt Mon May 10 13:24:48 2010 @@ -36,12 +36,12 @@ <ul class="contentViews"> <li> <a href="" - tal:attributes="href string:${portal_url}/dashboard" + tal:attributes="href string:${context/@@plone_portal_state/navigation_root_url}/dashboard" i18n:translate="label_dashboard">Dashboard</a> </li> <li class="selected"> <a href="" - tal:attributes="href string:${portal_url}/@@manage-dashboard" + tal:attributes="href string:${context/@@plone_portal_state/navigation_root_url}/@@manage-dashboard" i18n:translate="label_edit">Edit</a> </li> </ul> Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.pt ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.pt (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.pt Mon May 10 13:24:48 2010 @@ -1,6 +1,6 @@ <dl class="portlet portletCalendar" i18n:domain="plone" - tal:define="portal_url context/@@plone_portal_state/portal_url; + tal:define="navigation_root_url context/@@plone_portal_state/navigation_root_url; query_string view/getQueryString; url_quote_plus nocall:view/url_quote_plus; showPrevMonth view/showPrevMonth; @@ -66,7 +66,7 @@ tal:condition="day_event" tal:attributes="class python:is_today and 'todayevent' or 'event'" ><strong><a href="" - tal:attributes="href string:${portal_url}/search?${view/getReviewStateString}start.query:record:list:date=${day/date_string}+23%3A59%3A59&start.range:record=max&end.query:record:list:date=${day/date_string}+00%3A00%3A00&end.range:record=min; + tal:attributes="href string:${navigation_root_url}/search?${view/getReviewStateString}start.query:record:list:date=${day/date_string}+23%3A59%3A59&start.range:record=max&end.query:record:list:date=${day/date_string}+00%3A00%3A00&end.range:record=min; title day/eventstring;" tal:content="daynumber"> 31 Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/calendar.py Mon May 10 13:24:48 2010 @@ -7,6 +7,7 @@ from zope.i18nmessageid import MessageFactory from zope.interface import implements +from zope.component import getMultiAdapter from Acquisition import aq_inner from DateTime import DateTime @@ -41,8 +42,9 @@ if self.calendar.getUseSession(): raise ram.DontCache() else: + portal_state = getMultiAdapter((context, self.request), name=u'plone_portal_state') key = StringIO() - print >> key, getToolByName(context, 'portal_url')() + print >> key, portal_state.navigation_root_url() print >> key, cache.get_language(context, self.request) print >> key, self.calendar.getFirstWeekDay() @@ -50,6 +52,7 @@ print >> key, year print >> key, month + navigation_root_path = portal_state.navigation_root_path() start = DateTime('%s/%s/1' % (year, month)) end = DateTime('%s/%s/1' % self.getNextMonth(year, month)) - 1 @@ -60,11 +63,13 @@ key.write('\n\n') catalog = getToolByName(context, 'portal_catalog') + path = navigation_root_path brains = catalog( portal_type=self.calendar.getCalendarTypes(), review_state=self.calendar.getCalendarStates(), start={'query': end, 'range': 'max'}, - end={'query': start, 'range': 'min'}) + end={'query': start, 'range': 'min'}, + path=path) for brain in brains: add(brain) @@ -113,7 +118,9 @@ context = aq_inner(self.context) year = self.year month = self.month - weeks = self.calendar.getEventsForCalendar(month, year) + portal_state = getMultiAdapter((self.context, self.request), name=u'plone_portal_state') + navigation_root_path = portal_state.navigation_root_path() + weeks = self.calendar.getEventsForCalendar(month, year, path=navigation_root_path) for week in weeks: for day in week: daynumber = day['day'] Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/events.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/events.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/events.py Mon May 10 13:24:48 2010 @@ -9,6 +9,7 @@ from plone.memoize.compress import xhtml_compress from plone.portlets.interfaces import IPortletDataProvider from plone.app.portlets.cache import render_cachekey +from plone.app.layout.navigation.root import getNavigationRootObject from Acquisition import aq_inner from DateTime.DateTime import DateTime @@ -50,10 +51,13 @@ base.Renderer.__init__(self, *args) portal_state = getMultiAdapter((self.context, self.request), name=u'plone_portal_state') - self.portal_url = portal_state.portal_url() + self.navigation_root_url = portal_state.navigation_root_url() self.portal = portal_state.portal() + self.navigation_root_path = portal_state.navigation_root_path() + + self.have_events_folder = 'events' in getNavigationRootObject(self.context, + self.portal).objectIds() - self.have_events_folder = 'events' in self.portal.objectIds() @ram.cache(render_cachekey) def render(self): @@ -68,19 +72,19 @@ def all_events_link(self): if self.have_events_folder: - return '%s/events' % self.portal_url + return '%s/events' % self.navigation_root_url else: - return '%s/events_listing' % self.portal_url + return '%s/events_listing' % self.navigation_root_url def prev_events_link(self): if (self.have_events_folder and 'aggregator' in self.portal['events'].objectIds() and 'previous' in self.portal['events']['aggregator'].objectIds()): - return '%s/events/aggregator/previous' % self.portal_url + return '%s/events/aggregator/previous' % self.navigation_root_url elif (self.have_events_folder and 'previous' in self.portal['events'].objectIds()): - return '%s/events/previous' % self.portal_url + return '%s/events/previous' % self.navigation_root_url else: return None @@ -90,10 +94,12 @@ catalog = getToolByName(context, 'portal_catalog') limit = self.data.count state = self.data.state + path = self.navigation_root_path return catalog(portal_type='Event', review_state=state, end={'query': DateTime(), 'range': 'min'}, + path=path, sort_on='start', sort_limit=limit)[:limit] Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.pt ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.pt (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.pt Mon May 10 13:24:48 2010 @@ -23,7 +23,7 @@ <img width="14" height="11" alt="" - tal:attributes="src string:${view/portal_url}${flag}; + tal:attributes="src string:${view/navigation_root_url}${flag}; title python: name; class python: selected and 'currentItem' or '';" /> </tal:flag> Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/language.py Mon May 10 13:24:48 2010 @@ -30,7 +30,7 @@ return info.get("native", info["name"]) self.languages.sort(key=key) portal_state = getMultiAdapter((context, request), name=u'plone_portal_state') - self.portal_url = portal_state.portal_url() + self.navigation_root_url = portal_state.navigation_root_url() def show(self): return self.selector.available() and len(self.languages)>1 Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/news.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/news.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/news.py Mon May 10 13:24:48 2010 @@ -9,6 +9,7 @@ from plone.memoize.instance import memoize from plone.portlets.interfaces import IPortletDataProvider from plone.app.portlets.cache import render_cachekey +from plone.app.layout.navigation.root import getNavigationRootObject from Acquisition import aq_inner from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile @@ -45,6 +46,15 @@ _template = ViewPageTemplateFile('news.pt') + def __init__(self, *args): + base.Renderer.__init__(self, *args) + + context = aq_inner(self.context) + portal_state = getMultiAdapter((context, self.request), name=u'plone_portal_state') + self.portal = portal_state.portal() + self.navigation_root_url = portal_state.navigation_root_url() + self.navigation_root_path = portal_state.navigation_root_path() + @ram.cache(render_cachekey) def render(self): return xhtml_compress(self._template()) @@ -57,12 +67,8 @@ return self._data() def all_news_link(self): - portal_state = getMultiAdapter((self.context, self.request), name=u'plone_portal_state') - portal_url = portal_state.portal_url() - portal = portal_state.portal() - - if 'news' in portal.objectIds(): - return '%s/news' % portal_url + if 'news' in getNavigationRootObject(self.context, self.portal).objectIds(): + return '%s/news' % self.navigation_root_url else: return None @@ -70,10 +76,12 @@ def _data(self): context = aq_inner(self.context) catalog = getToolByName(context, 'portal_catalog') + path = self.navigation_root_path limit = self.data.count state = self.data.state return catalog(portal_type='News Item', review_state=state, + path=path, sort_on='Date', sort_order='reverse', sort_limit=limit)[:limit] Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/recent.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/recent.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/recent.py Mon May 10 13:24:48 2010 @@ -45,8 +45,9 @@ context = aq_inner(self.context) portal_state = getMultiAdapter((context, self.request), name=u'plone_portal_state') self.anonymous = portal_state.anonymous() - self.portal_url = portal_state.portal_url() + self.navigation_root_url = portal_state.navigation_root_url() self.typesToShow = portal_state.friendly_types() + self.navigation_root_path = portal_state.navigation_root_path() plone_tools = getMultiAdapter((context, self.request), name=u'plone_tools') self.catalog = plone_tools.catalog() @@ -63,12 +64,15 @@ return self._data() def recently_modified_link(self): - return '%s/recently_modified' % self.portal_url + return '%s/recently_modified' % self.navigation_root_url @memoize def _data(self): + context = aq_inner(self.context) limit = self.data.count + path = self.navigation_root_path return self.catalog(portal_type=self.typesToShow, + path=path, sort_on='modified', sort_order='reverse', sort_limit=limit)[:limit] Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/search.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/search.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/portlets/search.py Mon May 10 13:24:48 2010 @@ -44,16 +44,16 @@ base.Renderer.__init__(self, context, request, view, manager, data) portal_state = getMultiAdapter((context, request), name=u'plone_portal_state') - self.portal_url = portal_state.portal_url() + self.navigation_root_url = portal_state.navigation_root_url() def enable_livesearch(self): return self.data.enableLivesearch def search_form(self): - return '%s/search_form' % self.portal_url + return '%s/search_form' % self.navigation_root_url def search_action(self): - return '%s/search' % self.portal_url + return '%s/search' % self.navigation_root_url class AddForm(base.AddForm): Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_cache.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_cache.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_cache.py Mon May 10 13:24:48 2010 @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + from zope.app.component.hooks import setSite, setHooks from plone.app.portlets.tests.base import PortletsTestCase Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_configuration.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_configuration.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_configuration.py Mon May 10 13:24:48 2010 @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + import time import transaction Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_events_portlet.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_events_portlet.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_events_portlet.py Mon May 10 13:24:48 2010 @@ -99,19 +99,30 @@ self.assertEquals(2, len(r.published_events())) def test_all_events_link(self): - r = self.renderer(assignment=events.Assignment(count=5)) - self.failUnless(r.all_events_link().endswith('/events')) - self.portal._delObject('events') + # if there is an 'events' object in the portal root, we expect + # the events portlet to link to it + if 'events' in self.portal: + self.portal._delObject('events') r = self.renderer(assignment=events.Assignment(count=5)) self.failUnless(r.all_events_link().endswith('/events_listing')) - + + self.setRoles(['Manager']) + self.portal.invokeFactory('Folder', 'events') + r = self.renderer(assignment=events.Assignment(count=5)) + self.failUnless(r.all_events_link().endswith('/events')) + def test_prev_events_link(self): r = self.renderer(assignment=events.Assignment(count=5)) - self.failUnless(r.prev_events_link().endswith( - '/events/aggregator/previous')) + if r.have_events_folder: + self.failUnless(r.prev_events_link().endswith( + '/events/aggregator/previous')) + # before we continue, we need administrator privileges self.loginAsPortalOwner() - self.portal._delObject('events') + + if r.have_events_folder: + self.portal._delObject('events') + self.portal.invokeFactory('Folder', 'events') self.portal.events.invokeFactory('Folder', 'previous') r = self.renderer(assignment=events.Assignment(count=5)) Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_navigation_portlet.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_navigation_portlet.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_navigation_portlet.py Mon May 10 13:24:48 2010 @@ -72,9 +72,9 @@ self.populateSite() def renderer(self, context=None, request=None, view=None, manager=None, assignment=None): - context = context or self.folder - request = request or self.folder.REQUEST - view = view or self.folder.restrictedTraverse('@@plone') + context = context or self.portal + request = request or self.app.REQUEST + view = view or self.portal.restrictedTraverse('@@plone') manager = manager or getUtility(IPortletManager, name='plone.leftcolumn', context=self.portal) assignment = assignment or navigation.Assignment(topLevel=0) @@ -82,6 +82,15 @@ def populateSite(self): self.setRoles(['Manager']) + if 'Members' in self.portal: + self.portal._delObject('Members') + self.folder = None + if 'news' in self.portal: + self.portal._delObject('news') + if 'events' in self.portal: + self.portal._delObject('events') + if 'front-page' in self.portal: + self.portal._delObject('front-page') self.portal.invokeFactory('Document', 'doc1') self.portal.invokeFactory('Document', 'doc2') self.portal.invokeFactory('Document', 'doc3') @@ -206,14 +215,14 @@ # Make sure NonStructuralFolders act as if parentMetaTypesNotToQuery # is set. f = dummy.NonStructuralFolder('ns_folder') - self.folder._setObject('ns_folder', f) - self.portal.portal_catalog.reindexObject(self.folder.ns_folder) - self.portal.portal_catalog.reindexObject(self.folder) - view = self.renderer(self.folder.ns_folder) - tree = view.getNavTree() - self.assertEqual(tree['children'][0]['children'][0]['children'][0]['item'].getPath(), - '/plone/Members/test_user_1_/ns_folder') - self.assertEqual(len(tree['children'][0]['children'][0]['children'][0]['children']), 0) + self.portal.folder1._setObject('ns_folder', f) + self.portal.portal_catalog.reindexObject(self.portal.folder1.ns_folder) + self.portal.portal_catalog.reindexObject(self.portal.folder1) + view = self.renderer(self.portal.folder1.ns_folder) + tree = view.getNavTree() + self.assertEqual(tree['children'][3]['children'][3]['item'].getPath(), + '/plone/folder1/ns_folder') + self.assertEqual(len(tree['children'][3]['children'][3]['children']), 0) def testTopLevel(self): view = self.renderer(self.portal.folder2.file21, assignment=navigation.Assignment(topLevel=1)) @@ -337,14 +346,14 @@ self.failUnless(tree) self.failUnless(tree.has_key('children')) #Should only contain current object - self.assertEqual(len(tree['children']), 4) + self.assertEqual(len(tree['children']), 1) #change workflow for folder1 workflow.doActionFor(self.portal.folder1, 'publish') self.portal.folder1.reindexObject() view = self.renderer(self.portal.folder2) tree = view.getNavTree() #Should only contain current object and published folder - self.assertEqual(len(tree['children']), 5) + self.assertEqual(len(tree['children']), 2) def testStateFiltering(self): # Test Navtree workflow state filtering @@ -358,14 +367,14 @@ self.failUnless(tree) self.failUnless(tree.has_key('children')) #Should only contain current object - self.assertEqual(len(tree['children']), 4) + self.assertEqual(len(tree['children']), 1) #change workflow for folder1 workflow.doActionFor(self.portal.folder1, 'publish') self.portal.folder1.reindexObject() view = self.renderer(self.portal.folder2) tree = view.getNavTree() #Should only contain current object and published folder - self.assertEqual(len(tree['children']), 5) + self.assertEqual(len(tree['children']), 2) def testPrunedRootNode(self): ntp=self.portal.portal_properties.navtree_properties Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_news_portlet.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_news_portlet.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_news_portlet.py Mon May 10 13:24:48 2010 @@ -99,10 +99,13 @@ self.assertEquals(2, len(r.published_news_items())) def test_all_news_link(self): + if 'news' in self.portal: + self.portal._delObject('news') r = self.renderer(assignment=news.Assignment(count=5)) - self.failUnless(r.all_news_link().endswith('/news')) - self.portal._delObject('news') self.assertEqual(r.all_news_link(), None) + self.setRoles(['Manager']) + self.portal.invokeFactory('Folder', 'news') + self.failUnless(r.all_news_link().endswith('/news')) def test_suite(): from unittest import TestSuite, makeSuite Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_recent_portlet.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_recent_portlet.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_recent_portlet.py Mon May 10 13:24:48 2010 @@ -75,20 +75,31 @@ setSite(self.portal) def renderer(self, context=None, request=None, view=None, manager=None, assignment=None): - context = context or self.folder - request = request or self.folder.REQUEST - view = view or self.folder.restrictedTraverse('@@plone') + context = context or self.portal + request = request or self.app.REQUEST + view = view or self.portal.restrictedTraverse('@@plone') manager = manager or getUtility(IPortletManager, name='plone.rightcolumn', context=self.portal) assignment = assignment or recent.Assignment() - return getMultiAdapter((context, request, view, manager, assignment), IPortletRenderer) def test_recent_items(self): - r = self.renderer(assignment=recent.Assignment(count=5)) - self.assertEquals(5, len(r.recent_items())) + self.setRoles(['Manager']) + if 'news' in self.portal: + self.portal._delObject('news') + if 'events' in self.portal: + self.portal._delObject('events') + if 'front-page' in self.portal: + self.portal._delObject('front-page') + if 'Members' in self.portal: + self.portal._delObject('Members') + self.folder = None + self.portal.invokeFactory('Document', 'doc1') + self.portal.invokeFactory('Document', 'doc2') + r = self.renderer(assignment=recent.Assignment()) + self.assertEquals(2, len(r.recent_items())) def test_recently_modified_link(self): - r = self.renderer(assignment=recent.Assignment(count=5)) + r = self.renderer(assignment=recent.Assignment()) self.failUnless(r.recently_modified_link().endswith('/recently_modified')) def test_suite(): Modified: plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_utils.py ============================================================================== --- plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_utils.py (original) +++ plone.app.portlets/branches/duffyd-inavigationroot-fixes-317/plone/app/portlets/tests/test_utils.py Mon May 10 13:24:48 2010 @@ -28,10 +28,10 @@ name=user_name) def testGetPortletFromContext(self): - mapping = getMultiAdapter((self.folder, self.manager,), IPortletAssignmentMapping) + mapping = getMultiAdapter((self.portal, self.manager,), IPortletAssignmentMapping) c = classic.Assignment() mapping['foo'] = c - path = '/'.join(self.folder.getPhysicalPath()) + path = '/'.join(self.portal.getPhysicalPath()) a = assignment_from_key(self.portal, u'plone.leftcolumn', CONTEXT_CATEGORY, path, 'foo') self.assertEquals(c, a) |