[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ - removed backwards compatibility code in getSiteManager

Yvo Schubbe y.2008 at wcm-solutions.de
Mon Nov 17 08:09:15 EST 2008


Log message for revision 93046:
  - removed backwards compatibility code in getSiteManager

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
  UU  Products.CMFCore/trunk/Products/CMFCore/PortalObject.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2008-11-17 13:07:23 UTC (rev 93045)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2008-11-17 13:09:15 UTC (rev 93046)
@@ -4,6 +4,9 @@
 2.2.0 (unreleased)
 ------------------
 
+- PortalObject: Removed backwards compatibility code in getSiteManager.
+  Please use CMFDefault's upgrade steps for upgrading old CMF sites.
+
 - Fixed compatibility with non-string execeptoins on Zope trunk.
 
 - Added remove support to GenericSetup types tool exportimport handler.

Modified: Products.CMFCore/trunk/Products/CMFCore/PortalObject.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/PortalObject.py	2008-11-17 13:07:23 UTC (rev 93045)
+++ Products.CMFCore/trunk/Products/CMFCore/PortalObject.py	2008-11-17 13:09:15 UTC (rev 93046)
@@ -15,14 +15,11 @@
 $Id$
 """
 
-from Acquisition import aq_base
-from five.localsitemanager import find_next_sitemanager
-from five.localsitemanager.registry import FiveVerifyingAdapterLookup
 from five.localsitemanager.registry import PersistentComponents
 from Globals import InitializeClass
 from Products.Five.component.interfaces import IObjectManagerSite
 from zope.app.publication.zopepublication import BeforeTraverseEvent
-from zope.component.globalregistry import base
+from zope.component.interfaces import ComponentLookupError
 from zope.event import notify
 from zope.interface import implements
 
@@ -58,38 +55,26 @@
         (ReviewPortalContent, ()),
         )
 
+    def __init__(self, id, title='', description=''):
+        super(PortalObjectBase, self).__init__(id, title, description)
+        components = PersistentComponents('++etc++site')
+        components.__parent__ = self
+        self.setSiteManager(components)
+
     def getSkinsFolderName(self):
         return PORTAL_SKINS_TOOL_ID
 
-    def getSiteManager(self):
-        if self._components is None:
-            # BBB: for CMF 2.0 instances
-            next = find_next_sitemanager(self)
-            if next is None:
-                next = base
-            name = '/'.join(self.getPhysicalPath())
-            self._components = components = PersistentComponents(name, (next,))
-            components.__parent__ = self
-        elif self._components.utilities.LookupClass \
-                != FiveVerifyingAdapterLookup:
-            # BBB: for CMF 2.1 beta instances
-            # XXX: should be removed again after the CMF 2.1 beta2 release
-            components = aq_base(self._components)
-            components.__parent__ = self
-            utilities = aq_base(components.utilities)
-            utilities.LookupClass = FiveVerifyingAdapterLookup
-            utilities._createLookup()
-            utilities.__parent__ = components
-            
-        return self._components
-
     def __before_publishing_traverse__(self, arg1, arg2=None):
         """ Pre-traversal hook.
         """
         # XXX hack around a bug(?) in BeforeTraverse.MultiHook
         REQUEST = arg2 or arg1
 
-        notify(BeforeTraverseEvent(self, REQUEST))
+        try:
+            notify(BeforeTraverseEvent(self, REQUEST))
+        except ComponentLookupError:
+            # allow ZMI access, even if the portal's site manager is missing
+            pass
         self.setupCurrentSkin(REQUEST)
 
         super(PortalObjectBase,


Property changes on: Products.CMFCore/trunk/Products/CMFCore/PortalObject.py
___________________________________________________________________
Modified: svn:keywords
   - Author Date Id Revision
   + Id



More information about the Checkins mailing list