[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py Added fallbacks for migrating from CMF 2.2 sites.

Charlie Clark cvs-admin at zope.org
Thu Mar 22 13:06:48 UTC 2012


Log message for revision 124690:
  Added fallbacks for migrating from CMF 2.2 sites.

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py	2012-03-22 11:14:22 UTC (rev 124689)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py	2012-03-22 13:06:44 UTC (rev 124690)
@@ -13,9 +13,11 @@
 """
 """
 
-from zope.component import getUtility
+from zope.component import getUtility, ComponentLookupError
 from zope.component import queryUtility
 
+from Acquisition import aq_get
+
 from Products.CMFCore.interfaces import IActionsTool
 from Products.CMFCore.interfaces import IMembershipTool
 from Products.CMFCore.interfaces import IPropertiesTool
@@ -60,23 +62,39 @@
     @property
     @memoize
     def utool(self):
-        return getUtility(IURLTool)
+        try:
+            return getUtility(IURLTool)
+        except ComponentLookupError:
+            # BBB: fallback for CMF 2.2 instances
+            return aq_get(self.context, 'portal_url')
 
     @property
     @memoize
     def mtool(self):
-        return getUtility(IMembershipTool)
+        try:
+            return getUtility(IMembershipTool)
+        except ComponentLookupError:
+            # BBB: fallback for CMF 2.2 instances
+            return aq_get(self.context, 'portal_membership')
 
     @property
     @memoize
     def atool(self):
-        return getUtility(IActionsTool)
+        try:
+            return getUtility(IActionsTool)
+        except ComponentLookupError:
+            # BBB: fallback for CMF 2.2 instances
+            return aq_get(self.context, 'portal_actions')
 
     @property
     @memoize
     def wtool(self):
-        return getUtility(IWorkflowTool)
-        
+        try:
+            return getUtility(IWorkflowTool)
+        except ComponentLookupError:
+            # BBB: fallback for CMF 2.2 instances
+            return aq_get(self.context, 'portal_workflow')
+
     @property
     @memoize
     def syndtool(self):



More information about the checkins mailing list