[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py - some metadata tools neither have a _DCMI nor a DCMI attribute
Yvo Schubbe
y.2009 at wcm-solutions.de
Thu Dec 10 11:24:29 EST 2009
Log message for revision 106415:
- some metadata tools neither have a _DCMI nor a DCMI attribute
- also override the 'Discussion Item' workflow if no override exists
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py 2009-12-10 16:23:46 UTC (rev 106414)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py 2009-12-10 16:24:29 UTC (rev 106415)
@@ -27,6 +27,8 @@
from Products.CMFCore.interfaces import IWorkflowDefinition
from Products.CMFCore.permissions import ModifyPortalContent
from Products.CMFCore.utils import getToolByName
+from Products.CMFDefault.MetadataTool import MetadataSchema
+from Products.CMFDefault.MetadataTool import _DCMI_ELEMENT_SPECS
_KNOWN_IMPORT_STEPS = (
'actions',
@@ -315,9 +317,11 @@
logger = logging.getLogger('GenericSetup.upgrade')
metadata_tool = getToolByName(tool, 'portal_metadata')
if getattr(aq_base(metadata_tool), 'DCMI', None) is None:
- dcmi = metadata_tool._DCMI
- del metadata_tool._DCMI
- metadata_tool.DCMI = dcmi
+ if getattr(aq_base(metadata_tool), '_DCMI', None) is None:
+ metadata_tool.DCMI = MetadataSchema('DCMI', _DCMI_ELEMENT_SPECS)
+ else:
+ metadata_tool.DCMI = metadata_tool._DCMI
+ del metadata_tool._DCMI
logger.info('Dublin Core metadata definition updated.')
@@ -362,8 +366,11 @@
discussion_overrides = [x for x in wf_tool.listChainOverrides()
if x[0] == 'Discussion Item']
+ if not discussion_overrides:
+ return True
+
# Only apply if Discussion Item has an empty workflow chain
- if discussion_overrides and not discussion_overrides[0][1]:
+ if not discussion_overrides[0][1]:
return True
return False
More information about the checkins
mailing list