[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - improved upgrade steps for workflow and action properties (now all new action icons are added)

Yvo Schubbe y.2009 at wcm-solutions.de
Fri Nov 20 05:49:26 EST 2009


Log message for revision 105903:
  - improved upgrade steps for workflow and action properties (now all new action icons are added)

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

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2009-11-20 10:37:28 UTC (rev 105902)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2009-11-20 10:49:26 UTC (rev 105903)
@@ -4,6 +4,9 @@
 2.2.0-beta (unreleased)
 -----------------------
 
+- upgrade: Improved upgrade steps for type, workflow and action properties.
+  Please re-run them if you already used older versions of these steps.
+
 - Skins and browser views: Replaced 'getIcon' by 'getIconURL' calls.
 
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-20 10:37:28 UTC (rev 105902)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-20 10:49:26 UTC (rev 105903)
@@ -78,11 +78,23 @@
         />
 
     <genericsetup:upgradeStep
-        title="Add action icons"
-        handler=".to22.add_action_icons"
-        checker=".to22.check_action_icons"
+        title="Upgrade type actions"
+        handler=".to22.upgrade_type_actions"
+        checker=".to22.check_type_actions"
         />
 
+    <genericsetup:upgradeStep
+        title="Upgrade workflow definitions"
+        handler=".to22.upgrade_workflow_definitions"
+        checker=".to22.check_workflow_definitions"
+        />
+
+    <genericsetup:upgradeStep
+        title="Upgrade action properties"
+        handler=".to22.upgrade_action_properties"
+        checker=".to22.check_action_properties"
+        />
+
   </genericsetup:upgradeSteps>
 
   <genericsetup:upgradeStep

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-20 10:37:28 UTC (rev 105902)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-20 10:49:26 UTC (rev 105903)
@@ -21,6 +21,7 @@
 from Acquisition import aq_parent
 from zope.component.interfaces import ComponentLookupError
 
+from Products.CMFCore.interfaces import IWorkflowDefinition
 from Products.CMFCore.utils import getToolByName
 
 def check_root_site_manager(tool):
@@ -107,9 +108,23 @@
                  'retract': 'retract_icon.png',
                  'submit': 'submit_icon.png',
                  'reviewer_queue': 'worklist_icon.png',
+                 'login': 'login_icon.png',
+                 'join': 'join_icon.png',
+                 'preferences': 'preferences_icon.png',
+                 'logout': 'logout_icon.png',
+                 'addFavorite': 'addfavorite_icon.png',
+                 'mystuff': 'user_icon.png',
+                 'favorites': 'favorite_icon.png',
+                 'reply': 'reply_icon.png',
+                 'syndication': 'syndication_icon.png',
+                 'interfaces': 'interfaces_icon.png',
+                 'folderContents': 'folder_icon.png',
+                 'manage_members': 'members_icon.png',
+                 'undo': 'undo_icon.png',
+                 'configPortal': 'tool_icon.png',
                  }
 
-def check_action_icons(tool):
+def check_type_actions(tool):
     """2.1.x to 2.2.0 upgrade step checker
     """
     ttool = getToolByName(tool, 'portal_types')
@@ -119,7 +134,7 @@
                 return True
     return False
 
-def add_action_icons(tool):
+def upgrade_type_actions(tool):
     """2.1.x to 2.2.0 upgrade step handler
     """
     logger = logging.getLogger('GenericSetup.upgrade')
@@ -133,3 +148,61 @@
                 changed = True
         if changed:
             logger.info("TypeInfo '%s' changed." % ti.getId())
+
+def check_workflow_definitions(tool):
+    """2.1.x to 2.2.0 upgrade step checker
+    """
+    wtool = getToolByName(tool, 'portal_workflow')
+    for obj in wtool.objectValues():
+        if IWorkflowDefinition.providedBy(obj):
+            for t in obj.transitions.values():
+                if not t.actbox_icon and t.getId() in _ACTION_ICONS:
+                    return True
+            for w in obj.worklists.values():
+                if not w.actbox_icon and w.getId() in _ACTION_ICONS:
+                    return True
+    return False
+
+def upgrade_workflow_definitions(tool):
+    """2.1.x to 2.2.0 upgrade step handler
+    """
+    logger = logging.getLogger('GenericSetup.upgrade')
+    wtool = getToolByName(tool, 'portal_workflow')
+    for wf in wtool.objectValues():
+        changed = False
+        if IWorkflowDefinition.providedBy(wf):
+            for t in wf.transitions.values():
+                if not t.actbox_icon and t.getId() in _ACTION_ICONS:
+                    icon = _ACTION_ICONS[t.getId()]
+                    t.actbox_icon = '%(portal_url)s/' + icon
+                    changed = True
+            for w in wf.worklists.values():
+                if not w.actbox_icon and w.getId() in _ACTION_ICONS:
+                    icon = _ACTION_ICONS[w.getId()]
+                    w.actbox_icon = '%(portal_url)s/' + icon
+                    changed = True
+        if changed:
+            logger.info("WorkflowDefinition '%s' changed." % wf.getId())
+
+def check_action_properties(tool):
+    """2.1.x to 2.2.0 upgrade step checker
+    """
+    atool = getToolByName(tool, 'portal_actions')
+    for category in atool.objectValues():
+        for action in category.listActions():
+            if not action.icon_expr and action.getId() in _ACTION_ICONS:
+                return True
+    return False
+
+def upgrade_action_properties(tool):
+    """2.1.x to 2.2.0 upgrade step handler
+    """
+    logger = logging.getLogger('GenericSetup.upgrade')
+    atool = getToolByName(tool, 'portal_actions')
+    for category in atool.objectValues():
+        for action in category.listActions():
+            if not action.icon_expr and action.getId() in _ACTION_ICONS:
+                icon = _ACTION_ICONS[action.getId()]
+                icon = 'string:${portal_url}/%s' % icon
+                action._setPropValue('icon_expr', icon)
+                logger.info("Action '%s' changed." % action.getId())



More information about the checkins mailing list