[Checkins] SVN: Products.CMF - modified 'icon' method used in the ZMI

Yvo Schubbe y.2011 at wcm-solutions.de
Mon Feb 20 12:16:59 UTC 2012


Log message for revision 124428:
  - modified 'icon' method used in the ZMI

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
  U   Products.CMFCore/trunk/Products/CMFCore/DynamicType.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2012-02-20 11:16:32 UTC (rev 124427)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2012-02-20 12:16:58 UTC (rev 124428)
@@ -4,6 +4,10 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- DynamicType: Modified 'icon' method.
+  The specified icon might be registered for a ZTK layer that is not available
+  in the ZMI. If the icon can't be found, an empty string is returned.
+
 - exportimport.tests.test_mailhost:  Accomodate 'smtp_queue' and
   'smtp_queue_directory' exports (newly added in GenericSetup).
 

Modified: Products.CMFCore/trunk/Products/CMFCore/DynamicType.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/DynamicType.py	2012-02-20 11:16:32 UTC (rev 124427)
+++ Products.CMFCore/trunk/Products/CMFCore/DynamicType.py	2012-02-20 12:16:58 UTC (rev 124428)
@@ -124,6 +124,10 @@
             if not relative_to_portal:
                 # Relative to REQUEST['BASEPATH1']
                 icon = '%s/%s' % (utool(relative=1), icon)
+        try:
+            utool.getPortalObject().unrestrictedTraverse(icon)
+        except (AttributeError, KeyError):
+            icon = ''
         return icon
 
     # deprecated alias

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py	2012-02-20 11:16:32 UTC (rev 124427)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_Favorite.py	2012-02-20 12:16:58 UTC (rev 124428)
@@ -71,7 +71,7 @@
         self.assertEqual( f.getRemoteUrl(), utool() )
         self.assertEqual( f.getObject(), self.site )
         self.assertEqual( f.getIconURL(), self.site.getIconURL() )
-        self.assertEqual( f.icon(), self.site.icon() )
+        self.assertEqual( f.icon(), '' )
 
     def test_CtorArgs( self ):
         utool = getSiteManager().getUtility(IURLTool)
@@ -108,7 +108,7 @@
         self.assertEqual( f.getObject(), self.site )
         self.assertEqual( f.getRemoteUrl(), utool() )
         self.assertEqual( f.getIconURL(), self.site.getIconURL() )
-        self.assertEqual( f.icon(), self.site.icon() )
+        self.assertEqual( f.icon(), '' )
 
 
 def test_suite():



More information about the checkins mailing list