[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