[Erp5-report] r39875 arnaud.fontaine - /erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Nov 4 07:19:33 CET 2010
Author: arnaud.fontaine
Date: Thu Nov 4 07:19:28 2010
New Revision: 39875
URL: http://svn.erp5.org?rev=39875&view=rev
Log:
When importing all the Property Sheets to ZODB, delete existing ones
and perform a commit after each import, then redirect to
portal_property_sheets.
Modified:
erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py
Modified: erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py?rev=39875&r1=39874&r2=39875&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py [utf8] Thu Nov 4 07:19:28 2010
@@ -27,6 +27,8 @@
#
##############################################################################
+import transaction
+
from AccessControl import ClassSecurityInfo
from Products.ERP5Type.Tool.BaseTool import BaseTool
from Products.ERP5Type import Permissions
@@ -36,7 +38,7 @@ from Products.CMFCore.Expression import
from Products.ERP5Type.Base import Base, PropertyHolder
from Products.ERP5Type.Utils import setDefaultClassProperties, setDefaultProperties
-from zLOG import LOG, ERROR, BLATHER
+from zLOG import LOG, ERROR, INFO
class PropertySheetTool(BaseTool):
"""
@@ -109,7 +111,7 @@ class PropertySheetTool(BaseTool):
security.declareProtected(Permissions.ManagePortal,
'createAllPropertySheetsFromFilesystem')
- def createAllPropertySheetsFromFilesystem(self):
+ def createAllPropertySheetsFromFilesystem(self, REQUEST=None):
"""
Create Property Sheets in portal_property_sheets from _all_
filesystem Property Sheets
@@ -123,15 +125,21 @@ class PropertySheetTool(BaseTool):
if name[0] == '_':
continue
- if name not in self.portal_property_sheets:
- LOG("Tool.PropertySheetTool", BLATHER,
- "Creating %s in portal_property_sheets" % repr(name))
-
- self.createPropertySheetFromFilesystemClass(klass)
-
- else:
- LOG("Tool.PropertySheetTool", BLATHER,
- "%s already exists in portal_property_sheets" % repr(name))
+ if name in self.portal_property_sheets:
+ self.portal_property_sheets.deleteContent(name)
+ transaction.commit()
+
+ LOG("Tool.PropertySheetTool", INFO,
+ "Creating %s in portal_property_sheets" % repr(name))
+
+ self.createPropertySheetFromFilesystemClass(klass)
+ transaction.commit()
+
+ if REQUEST is not None:
+ return self.REQUEST.RESPONSE.redirect(
+ '%s/view?portal_status_message=' \
+ 'Property Sheets successfully imported from filesystem to ZODB.' % \
+ self.absolute_url())
security.declareProtected(Permissions.AccessContentsInformation,
'exportPropertySheetToFilesystemDefinitionTuple')
More information about the Erp5-report
mailing list