[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/ Added upgrade step to finish the LP397795 change.

Hanno Schlichting hannosch at hannosch.eu
Fri Nov 13 10:51:18 EST 2009


Log message for revision 105609:
  Added upgrade step to finish the LP397795 change.
  

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-13 15:00:13 UTC (rev 105608)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-13 15:51:17 UTC (rev 105609)
@@ -83,6 +83,12 @@
         checker=".to22.check_action_icons"
         />
 
+    <genericsetup:upgradeStep
+        title="Convert icon expressions to new type property"
+        handler=".to22.convert_type_icons"
+        checker=".to22.check_type_icons"
+        />
+
   </genericsetup:upgradeSteps>
 
   <genericsetup:upgradeStep

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-13 15:00:13 UTC (rev 105608)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-13 15:51:17 UTC (rev 105609)
@@ -124,3 +124,24 @@
                 changed = True
         if changed:
             logger.info("TypeInfo '%s' changed." % ti.getId())
+
+def check_type_icons(tool):
+    """2.1.x to 2.2.0 upgrade step checker
+    """
+    ttool = getToolByName(tool, 'portal_types')
+    for ti in ttool.listTypeInfo():
+        if ti.content_icon and not ti.icon_expr:
+            return True
+    return False
+
+def convert_type_icons(tool):
+    """2.1.x to 2.2.0 upgrade step handler
+    """
+    logger = logging.getLogger('GenericSetup.upgrade')
+    ttool = getToolByName(tool, 'portal_types')
+    for ti in ttool.listTypeInfo():
+        if ti.content_icon and not ti.icon_expr:
+            icon_expr = 'string:${portal_url}/%s' % ti.content_icon
+            ti._setPropValue('icon_expr', icon_expr)
+            ti._setPropValue('content_icon', '')
+            logger.info("TypeInfo '%s' changed." % ti.getId())



More information about the checkins mailing list