[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - converted one more tool

Yvo Schubbe y.2011 at wcm-solutions.de
Fri Sep 23 09:35:30 EST 2011


Log message for revision 122909:
  - converted one more tool

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/search/interfaces.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml
  U   Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DefaultWorkflow.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DiscussionTool.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Discussions.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Document.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py
  UU  Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2011-09-23 14:35:30 UTC (rev 122909)
@@ -6,8 +6,8 @@
 
 - tools: Converted several tools into utilities.
   ActionsTool, CatalogTool, CookieCrumbler, MemberDataTool, MembershipTool,
-  RegistrationTool, SkinsTool, URLTool and WorkflowTool are now local
-  utilities.
+  RegistrationTool, SkinsTool, TypesTool, URLTool and WorkflowTool are now
+  local utilities.
 
 - skins and browser views: setRedirect now checks Action conditions.
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/content/tests/test_folder.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -23,6 +23,7 @@
 
 from Products.CMFCore.interfaces import IMembershipTool
 from Products.CMFCore.interfaces import IPropertiesTool
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFCore.interfaces import IURLTool
 from Products.CMFCore.PortalFolder import PortalFolder
 from Products.CMFCore.tests.base.dummy import DummyContent
@@ -44,7 +45,7 @@
         sm.registerUtility(DummyTool(), IMembershipTool)
         sm.registerUtility(DummyTool().__of__(site), IPropertiesTool)
         sm.registerUtility(DummyTool().__of__(site), IURLTool)
-        site._setObject('portal_types', DummyTool())
+        sm.registerUtility(DummyTool(), ITypesTool)
         folder = PortalFolder('test_folder')
         self.folder = site._setObject('test_folder', folder)
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/search/interfaces.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/search/interfaces.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/search/interfaces.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -30,7 +30,7 @@
 
 from Products.CMFCore.interfaces import ICatalogTool
 from Products.CMFCore.interfaces import IMembershipTool
-from Products.CMFCore.utils import getToolByName
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFDefault.utils import Message as _
 
 def status_vocab(context):
@@ -86,7 +86,7 @@
 
 def type_vocab(context):
     """Provides a list of portal types"""
-    ttool = getToolByName(context, 'portal_types')
+    ttool =  getUtility(ITypesTool)
     types = ttool.listTypeInfo()
     terms = [SimpleTerm(None, None, _(u"-- any --"))]
     terms += [SimpleTerm(t.getId(), t.getId(), t.Title()) for t in types]

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/icons.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -23,10 +23,11 @@
 from Products.CMFCore.Expression import getExprContext
 from Products.CMFCore.interfaces import IActionsTool
 from Products.CMFCore.interfaces import IPropertiesTool
-from Products.CMFDefault.browser.utils import memoize, ViewBase
+from Products.CMFCore.interfaces import ITypesTool
+from Products.CMFDefault.browser.utils import memoize
 
 
-class View(ViewBase):
+class View(BrowserView):
     """
     CSS that dynamically checks whether Action Icons are can be used.
     Type Icons can always be used.
@@ -77,7 +78,7 @@
     def types(self):
         """List all type icons
         Type actions are always visible"""
-        ttool = self._getTool('portal_types')
+        ttool = getUtility(ITypesTool)
         types = ttool.listTypeInfo()
         econtext = getExprContext(self.context)
         icons = [self.icon_style %  (t.id,

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_icons.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -26,6 +26,7 @@
 from .test_ursa import DummyURLTool
 from Products.CMFCore.interfaces import IActionsTool
 from Products.CMFCore.interfaces import IMembershipTool
+from Products.CMFCore.interfaces import ITypesTool
 
 
 class AbsolutIconsTests(unittest.TestCase, PlacelessSetup):
@@ -56,8 +57,8 @@
         sm = getSiteManager()
         sm.registerUtility(tool, IPropertiesTool)
         if types is not None:
-            site.portal_types = DummyTypesTool(types)
             site.portal_url = DummyURLTool(site)
+            sm.registerUtility(DummyTypesTool(types), ITypesTool)
             sm.registerUtility(DummyMembershipTool(), IMembershipTool)
         if actions is not None:
             sm.registerUtility(DummyActionsTool(actions), IActionsTool)

Modified: Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -33,6 +33,7 @@
 
 from Products.CMFCore.interfaces import IFolderish
 from Products.CMFCore.interfaces import ITypeInformation
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFDefault.browser.utils import ViewBase
 from Products.CMFDefault.exceptions import AccessControl_Unauthorized
 from Products.CMFDefault.exceptions import zExceptions_Unauthorized
@@ -183,7 +184,7 @@
             raise AccessControl_Unauthorized('Cannot create %s' % portal_type)
 
         # check container constraints
-        ttool = self._getTool('portal_types')
+        ttool = getUtility(ITypesTool)
         container_ti = ttool.getTypeInfo(container)
         if container_ti is not None and \
                 not container_ti.allowType(portal_type):

Modified: Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.txt	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/formlib/form.txt	2011-09-23 14:35:30 UTC (rev 122909)
@@ -1,8 +1,10 @@
 Add Forms
 ---------
 
-Set up user.
+Set site and up user.
 
+    >>> from zope.site.hooks import setSite
+    >>> setSite(app.site)
     >>> uf = app.site.acl_users
     >>> _ignored = uf._doAddUser('mgr', 'mgrpw', ['Manager'], [])
 
@@ -56,14 +58,14 @@
 always belong to specific content factories. The name of the factory and the
 name of the add view have to be the same.
 
-    >>> from zope.component import getSiteManager
+    >>> from zope.component import getGlobalSiteManager
     >>> from zope.formlib import form
     >>> from Products.CMFDefault.formlib.form import ContentAddFormBase
     >>> from Products.CMFDefault.formlib.tests import IFoo
 
     >>> class FooAddView(ContentAddFormBase):
     ...     form_fields = form.FormFields(IFoo)
-    >>> getSiteManager().registerAdapter(FooAddView, name='test.foo')
+    >>> getGlobalSiteManager().registerAdapter(FooAddView, name='test.foo')
 
 The customized add form has the same title but no ID field. On the other hand
 it has the fields defined in IFoo.
@@ -95,7 +97,7 @@
     ...         form.FormFields(IFoo)
     ...         )
     ...     form_fields['id'].custom_widget = IDInputWidget
-    >>> getSiteManager().registerAdapter(FooAddView, name='test.foo')
+    >>> getGlobalSiteManager().registerAdapter(FooAddView, name='test.foo')
 
 The customized add form has the ID field and the fields defined in IFoo.
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/componentregistry.xml	2011-09-23 14:35:30 UTC (rev 122909)
@@ -26,6 +26,8 @@
      object="portal_skins"/>
   <utility interface="Products.CMFCore.interfaces.ISyndicationTool"
      object="portal_syndication"/>
+  <utility interface="Products.CMFCore.interfaces.ITypesTool"
+     object="portal_types"/>
   <utility interface="Products.CMFCore.interfaces.IURLTool"
      object="portal_url"/>
   <utility interface="Products.CMFCore.interfaces.IUndoTool"

Modified: Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/skins/zpt_generic/search_form.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -1,6 +1,5 @@
 ##parameters=search=''
 ##
-from Products.CMFCore.utils import getToolByName
 from Products.CMFCore.utils import getUtilityByInterfaceName
 from Products.CMFDefault.permissions import ReviewPortalContent
 from Products.CMFDefault.utils import decode
@@ -8,7 +7,7 @@
 
 ctool = getUtilityByInterfaceName('Products.CMFCore.interfaces.ICatalogTool')
 mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool')
-ttool = getToolByName(script, 'portal_types')
+ttool = getUtilityByInterfaceName('Products.CMFCore.interfaces.ITypesTool')
 utool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IURLTool')
 portal_url = utool()
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DefaultWorkflow.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DefaultWorkflow.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DefaultWorkflow.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -20,6 +20,8 @@
 from zope.interface.verify import verifyClass
 from zope.testing.cleanup import cleanUp
 
+from Products.CMFCore.interfaces import IMembershipTool
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFCore.interfaces import IWorkflowTool
 from Products.CMFCore.tests.base.dummy import DummyContent
 from Products.CMFCore.tests.base.dummy import DummySite
@@ -34,14 +36,15 @@
         from Products.CMFDefault.DefaultWorkflow \
                 import DefaultWorkflowDefinition
         self.site = DummySite('site')
-        self.site._setObject('portal_types', DummyTool())
-        self.site._setObject('portal_membership', DummyTool())
         self.site._setObject('acl_users', DummyUserFolder())
 
         self.wtool = WorkflowTool()
         self.wtool._setObject('wf', DefaultWorkflowDefinition('wf'))
         self.wtool.setDefaultChain('wf')
-        getSiteManager().registerUtility(self.wtool, IWorkflowTool)
+        sm = getSiteManager()
+        sm.registerUtility(self.wtool, IWorkflowTool)
+        sm.registerUtility(DummyTool(), IMembershipTool)
+        sm.registerUtility(DummyTool(), ITypesTool)
 
     def tearDown(self):
         cleanUp()

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DiscussionTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DiscussionTool.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_DiscussionTool.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -21,6 +21,7 @@
 from zope.interface.verify import verifyClass
 from zope.testing.cleanup import cleanUp
 
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFCore.tests.base.dummy import DummyFolder
 from Products.CMFCore.tests.base.dummy import DummySite
 from Products.CMFCore.tests.base.dummy import DummyTool
@@ -56,10 +57,11 @@
 
         SecurityTest.setUp(self)
         self.site = DummySite('site')
+        self.dtool = self._makeOne()
+        self.ttool = DummyTool()
         sm = getSiteManager()
-        self.site._setObject( 'portal_discussion', self._makeOne() )
-        sm.registerUtility(self.site.portal_discussion, IDiscussionTool)
-        self.site._setObject( 'portal_types', DummyTool() )
+        sm.registerUtility(self.dtool, IDiscussionTool)
+        sm.registerUtility(self.ttool, ITypesTool)
 
     def tearDown(self):
         cleanUp()
@@ -68,7 +70,7 @@
     def test_overrideDiscussionFor(self):
         acl_users = self.site._setObject('acl_users', DummyUserFolder())
         newSecurityManager(None, acl_users.all_powerful_Oz)
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         foo = self.site._setObject( 'foo', DummyFolder() )
         baz = foo._setObject( 'baz', DummyFolder() )
 
@@ -99,7 +101,7 @@
         # acquired and used from parent)
         acl_users = self.site._setObject('acl_users', DummyUserFolder())
         newSecurityManager(None, acl_users.all_powerful_Oz)
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         foo = self.site._setObject( 'foo', DummyFolder() )
         baz = foo._setObject( 'baz', DummyFolder() )
         dtool.overrideDiscussionFor(foo, 1)
@@ -108,20 +110,20 @@
 
         # Make sure isDiscussionAllowedFor does not blow up on items
         # that aren't content and/or discussable at all.
-        self.failIf(dtool.isDiscussionAllowedFor(self.site.portal_types))
+        self.failIf(dtool.isDiscussionAllowedFor(self.ttool))
 
     def test_getDiscussionFor(self):
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         foo = self.site._setObject( 'foo', DummyFolder() )
         foo.allow_discussion = 1
         baz = foo._setObject( 'baz', DummyFolder() )
         baz.allow_discussion = 1
 
         self.failIf( hasattr(foo.aq_base, 'talkback') )
-        talkback = dtool.getDiscussionFor(foo)
+        dtool.getDiscussionFor(foo)
         self.failUnless( hasattr(foo.aq_base, 'talkback') )
         self.failIf( hasattr(baz.aq_base, 'talkback') )
-        talkback = dtool.getDiscussionFor(baz)
+        dtool.getDiscussionFor(baz)
         self.failUnless( hasattr(baz.aq_base, 'talkback'),
                          'CMF Collector issue #119 (acquisition bug): '
                          'talkback not created' )

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Discussions.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Discussions.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Discussions.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -23,6 +23,7 @@
 from Products.CMFCore.CatalogTool import CatalogTool
 from Products.CMFCore.interfaces import ICatalogTool
 from Products.CMFCore.interfaces import IDiscussionTool
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFCore.testing import EventZCMLLayer
 from Products.CMFCore.tests.base.dummy import DummyContent
 from Products.CMFCore.tests.base.dummy import DummySite
@@ -82,18 +83,19 @@
     def setUp(self):
         SecurityTest.setUp(self)
         newSecurityManager(None, DummyUser().__of__(self.app.acl_users))
-        self.site = DummySite('site').__of__(self.root)
+        self.site = DummySite('site').__of__(self.app)
+        self.dtool = DiscussionTool()
+        self.ttool = TypesTool()
         sm = getSiteManager()
-        self.site._setObject( 'portal_discussion', DiscussionTool() )
-        sm.registerUtility(self.site.portal_discussion, IDiscussionTool)
-        self.site._setObject( 'portal_types', TypesTool() )
+        sm.registerUtility(self.dtool, IDiscussionTool)
+        sm.registerUtility(self.ttool, ITypesTool)
 
     def _makeDummyContent(self, id, *args, **kw):
-        return self.site._setObject( id, DummyContent(id, *args, **kw) )
+        return self.site._setObject(id, DummyContent(id, *args, **kw))
 
     def test_policy( self ):
-        dtool = self.site.portal_discussion
-        ttool = self.site.portal_types
+        dtool = self.dtool
+        ttool = self.ttool
         test = self._makeDummyContent('test')
         self.assertRaises(DiscussionNotAllowed, dtool.getDiscussionFor, test)
         assert getattr( test, 'talkback', None ) is None
@@ -124,7 +126,7 @@
         assert test.talkback
 
     def test_nestedReplies( self ):
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         test = self._makeDummyContent('test')
         test.allow_discussion = 1
         talkback = dtool.getDiscussionFor(test)
@@ -177,7 +179,7 @@
         ctool = CatalogTool()
         ctool.addColumn('in_reply_to')
         getSiteManager().registerUtility(ctool, ICatalogTool)
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         test = self._makeDummyContent('test', catalog=1)
         test.allow_discussion = 1
 
@@ -221,7 +223,7 @@
     def test_itemWorkflowNotification(self):
         from Products.CMFDefault.DiscussionItem import DiscussionItem
 
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         test = self._makeDummyContent('test')
         test.allow_discussion = 1
         talkback = dtool.getDiscussionFor(test)
@@ -248,7 +250,7 @@
     def test_deletePropagation( self ):
         ctool = CatalogTool()
         getSiteManager().registerUtility(ctool, ICatalogTool)
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         test = self._makeDummyContent('test', catalog=1)
         test.allow_discussion = 1
 
@@ -261,7 +263,7 @@
         self.assertEqual( len(ctool), 0 )
 
     def test_deleteReplies(self):
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         ctool = CatalogTool()
         getSiteManager().registerUtility(ctool, ICatalogTool)
         test = self._makeDummyContent('test')
@@ -311,7 +313,7 @@
     def test_newTalkbackIsWrapped(self):
         test = self._makeDummyContent('test')
         test.allow_discussion = 1
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         talkback = dtool.getDiscussionFor(test)
         self.failUnless(hasattr(talkback, 'aq_base'))
         # Acquire a portal tool
@@ -320,7 +322,7 @@
     def test_existingTalkbackIsWrapped(self):
         test = self._makeDummyContent('test')
         test.allow_discussion = 1
-        dtool = self.site.portal_discussion
+        dtool = self.dtool
         dtool.getDiscussionFor(test)
         talkback = dtool.getDiscussionFor(test)
         self.failUnless(hasattr(talkback, 'aq_base'))

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Document.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Document.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Document.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -563,12 +563,12 @@
 
     def setUp(self):
         TransactionalTest.setUp(self)
-        self.site = DummySite('site').__of__(self.root)
+        self.site = DummySite('site').__of__(self.app)
 
     def testHTML(self):
         self.REQUEST['BODY'] = BASIC_HTML
 
-        ttool = self.site._setObject('portal_types', TypesTool())
+        ttool = TypesTool()
         fti = FTIDATA_CMF[0].copy()
         del fti['id']
         ttool._setObject('Document', FTI('Document', **fti))

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_SyndicationTool.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -17,11 +17,13 @@
 import Testing
 
 from DateTime.DateTime import DateTime
-from zope.component import getSiteManager, queryAdapter
+from zope.component import getSiteManager
+from zope.component import queryAdapter
 from zope.interface import alsoProvides
 from zope.interface.verify import verifyClass
 from zope.testing.cleanup import cleanUp
 
+from Products.CMFCore.interfaces import ITypesTool
 from Products.CMFCore.tests.base.testcase import SecurityTest
 
 
@@ -144,13 +146,12 @@
         self.assertEqual(tool.max_items, MAX_ITEMS)
 
     def test_object_not_syndicatable(self):
-        from Products.CMFDefault.SyndicationTool import SyndicationError
         tool = self._makeOne()
         self.assertFalse(tool.isSyndicationAllowed(Dummy))
 
     def test_object_is_syndicatable(self):
         from Products.CMFCore.interfaces import ISyndicationInfo
-        tool = self._makeOne()
+        self._makeOne()
         context = self._makeContext()
         adapter = queryAdapter(context, ISyndicationInfo)
         self.assertTrue(adapter is not None)
@@ -232,11 +233,11 @@
         NOW = DateTime()
         MAX_ITEMS = 42
 
-        self.root._setObject( 'portal_types', TypesTool() )
-        self.root._setObject('pf', PortalFolder('pf'))
-        self.root._setObject('bf', CMFBTreeFolder('bf'))
-        self.root._setObject('portal_syndication', self._makeOne())
-        tool = self.root.portal_syndication
+        getSiteManager().registerUtility(TypesTool(), ITypesTool)
+        self.app._setObject('pf', PortalFolder('pf'))
+        self.app._setObject('bf', CMFBTreeFolder('bf'))
+        self.app._setObject('portal_syndication', self._makeOne())
+        tool = self.app.portal_syndication
         tool.editProperties(updatePeriod=PERIOD,
                             updateFrequency=FREQUENCY,
                             updateBase=NOW,
@@ -244,8 +245,8 @@
                             max_items=MAX_ITEMS,
                            )
 
-        self.assertEqual(len(tool.getSyndicatableContent(self.root.pf)), 0)
-        self.assertEqual(len(tool.getSyndicatableContent(self.root.bf)), 0)
+        self.assertEqual(len(tool.getSyndicatableContent(self.app.pf)), 0)
+        self.assertEqual(len(tool.getSyndicatableContent(self.app.bf)), 0)
 
 
 def test_suite():

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -11,8 +11,6 @@
 #
 ##############################################################################
 """Upgrade steps to CMFDefault 2.2.
-
-$Id$
 """
 import logging
 from urllib import quote
@@ -379,6 +377,5 @@
     """2.1.x to 2.2.0 upgrade step handler
     """
     wf_tool = getToolByName(tool, 'portal_workflow')
-    wf_tool.setChainForPortalTypes(('Discussion Item',), _SINGLESTATE_WF_ID)
-
-
+    wf_tool.setChainForPortalTypes(('Discussion Item',), _SINGLESTATE_WF_ID,
+                                   verify=False)


Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
___________________________________________________________________
Deleted: svn:keywords
   - Id

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py	2011-09-23 14:35:09 UTC (rev 122908)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py	2011-09-23 14:35:30 UTC (rev 122909)
@@ -270,6 +270,7 @@
     ('portal_membership', 'Products.CMFCore.interfaces.IMembershipTool'),
     ('portal_registration', 'Products.CMFCore.interfaces.IRegistrationTool'),
     ('portal_skins', 'Products.CMFCore.interfaces.ISkinsTool'),
+    ('portal_types', 'Products.CMFCore.interfaces.ITypesTool'),
     ('portal_url', 'Products.CMFCore.interfaces.IURLTool'),
     ('portal_workflow', 'Products.CMFCore.interfaces.IWorkflowTool'),
 )



More information about the checkins mailing list