[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/URLTool.py - added fallback for bootstrap
Yvo Schubbe
y.2011 at wcm-solutions.de
Mon Oct 10 10:10:24 EST 2011
Log message for revision 123047:
- added fallback for bootstrap
Changed:
U Products.CMFCore/trunk/Products/CMFCore/URLTool.py
-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/URLTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/URLTool.py 2011-10-10 15:09:33 UTC (rev 123046)
+++ Products.CMFCore/trunk/Products/CMFCore/URLTool.py 2011-10-10 15:10:24 UTC (rev 123047)
@@ -14,10 +14,12 @@
"""
from AccessControl.SecurityInfo import ClassSecurityInfo
+from Acquisition import aq_inner
+from Acquisition import aq_parent
from App.class_init import InitializeClass
from App.special_dtml import DTMLFile
from OFS.SimpleItem import SimpleItem
-from zope.component import getUtility
+from zope.component import queryUtility
from zope.globalrequest import getRequest
from zope.interface import implements
from ZPublisher.BaseRequest import RequestContainer
@@ -73,7 +75,11 @@
""" Get the portal object itself.
"""
request_container = RequestContainer(REQUEST=getRequest())
- return getUtility(ISiteRoot).__of__(request_container)
+ portal_obj = queryUtility(ISiteRoot)
+ if portal_obj is None:
+ # fallback for bootstrap
+ portal_obj = aq_parent(aq_inner(self))
+ return portal_obj.__of__(request_container)
security.declarePublic('getRelativeContentPath')
def getRelativeContentPath(self, content):
More information about the checkins
mailing list