[Erp5-report] r45376 jm - /erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Apr 13 14:42:37 CEST 2011
Author: jm
Date: Wed Apr 13 14:42:36 2011
New Revision: 45376
URL: http://svn.erp5.org?rev=45376&view=rev
Log:
Fix possible unauthorized error when upgrading a site that has no property sheet tool
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=45376&r1=45375&r2=45376&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Tool/PropertySheetTool.py [utf8] Wed Apr 13 14:42:36 2011
@@ -33,6 +33,7 @@ from AccessControl import ClassSecurityI
from Products.ERP5Type.Tool.BaseTool import BaseTool
from Products.ERP5Type import Permissions
from Products.ERP5Type.Accessor import Translation
+from Products.ERP5Type.UnrestrictedMethod import unrestricted_apply
from Products.CMFCore.utils import getToolByName
from Products.ERP5Type.Core.PropertySheet import PropertySheet as PropertySheetDocument
from zExceptions import BadRequest
@@ -74,12 +75,16 @@ class PropertySheetTool(BaseTool):
'SQLIdGenerator',
))
def install():
- template_tool = self.getPortalObject().portal_templates
+ from ZPublisher.BaseRequest import RequestContainer
+ portal = self.getPortalObject()
+ # BusinessTemplate.install needs a request
+ template_tool = portal.aq_base.__of__(portal.aq_parent.__of__(
+ RequestContainer(REQUEST=get_request()))).portal_templates
if template_tool.getInstalledBusinessTemplate(bt_name) is None:
from Products.ERP5.ERP5Site import getBootstrapBusinessTemplateUrl
url = getBootstrapBusinessTemplateUrl(bt_name)
- template_tool.download(url).activate().install()
- transaction.get().addBeforeCommitHook(install)
+ template_tool.download(url).install()
+ transaction.get().addBeforeCommitHook(unrestricted_apply, (install,))
security.declarePublic('getTranslationDomainNameList')
def getTranslationDomainNameList(self):
More information about the Erp5-report
mailing list