From: nouri <svn...@pl...> - 2006-08-28 17:34:47
|
Author: nouri Date: Mon Aug 28 17:34:42 2006 New Revision: 10677 Modified: CMFPlone/branches/2.5/HISTORY.txt CMFPlone/branches/2.5/setuphandlers.py CMFPlone/branches/2.5/tests/testPortalCreation.py Log: Made 'setuphandlers.PloneGenerator.setupPortalContent' more robust by checking if the Members folder is really there. Modified: CMFPlone/branches/2.5/HISTORY.txt ============================================================================== --- CMFPlone/branches/2.5/HISTORY.txt (original) +++ CMFPlone/branches/2.5/HISTORY.txt Mon Aug 28 17:34:42 2006 @@ -2,6 +2,10 @@ (name of developer listed in brackets) + - Made 'setuphandlers.PloneGenerator.setupPortalContent' more + robust by checking if the Members folder is really there. + [nouri] + - Copied '_getSecurity' from Archetypes.utils to avoid a dependency. Plone should not import from Archetypes to minimize coupling. [stefan] Modified: CMFPlone/branches/2.5/setuphandlers.py ============================================================================== --- CMFPlone/branches/2.5/setuphandlers.py (original) +++ CMFPlone/branches/2.5/setuphandlers.py Mon Aug 28 17:34:42 2006 @@ -118,23 +118,24 @@ date_crit.setDateRange('-') # This is irrelevant when the date is now date_crit.setOperation('less') - # configure Members folder (already added by the content import) - members = getattr(p , 'Members') - members.setTitle('Members') - members.setDescription("Container for portal members' home directories") - if not members.hasProperty('right_slots'): - members.manage_addProperty('right_slots', [], 'lines') - # XXX: Not sure why reindex is needed, but it doesn't seem to happen - # otherwise - members.reindexObject() - - # add index_html to Members area - if 'index_html' not in members.objectIds(): - addPy = members.manage_addProduct['PythonScripts'].manage_addPythonScript - addPy('index_html') - index_html = getattr(members, 'index_html') - index_html.write(member_indexhtml) - index_html.ZPythonScript_setTitle('Member Search') + if 'Members' in existing: + # configure Members folder (already added by the content import) + members = getattr(p , 'Members') + members.setTitle('Members') + members.setDescription("Container for portal members' home directories") + if not members.hasProperty('right_slots'): + members.manage_addProperty('right_slots', [], 'lines') + # XXX: Not sure why reindex is needed, but it doesn't seem to + # happen otherwise + members.reindexObject() + + # add index_html to Members area + if 'index_html' not in members.objectIds(): + addPy = members.manage_addProduct['PythonScripts'].manage_addPythonScript + addPy('index_html') + index_html = getattr(members, 'index_html') + index_html.write(member_indexhtml) + index_html.ZPythonScript_setTitle('Member Search') def addRolesToPlugIn(self, p): """ Modified: CMFPlone/branches/2.5/tests/testPortalCreation.py ============================================================================== --- CMFPlone/branches/2.5/tests/testPortalCreation.py (original) +++ CMFPlone/branches/2.5/tests/testPortalCreation.py Mon Aug 28 17:34:42 2006 @@ -22,6 +22,7 @@ RAMCacheManager from Products.CMFCore.CachingPolicyManager import CachingPolicyManager from Products.CMFPlone.UnicodeSplitter import Splitter, CaseNormalizer +from Products.CMFPlone import setuphandlers class TestPortalCreation(PloneTestCase.PloneTestCase): @@ -744,6 +745,19 @@ setup_tool.runAllImportSteps() # this will raise an error if it fails self.failUnless(1 == 1) + def testFinalStepsWithMembersFolderDeleted(self): + # We want the final steps to work even if the 'Members' folder + # is gone + self.loginAsPortalOwner() + portal = self.portal + portal.manage_delObjects(['Members']) + class FakeContext: + def getSite(self): + return portal + + setuphandlers.importFinalSteps(FakeContext()) # raises error if fail + self.failUnless(1 == 1) + def testExportImportLosesTextIndexes(self): # Importing a portal .zexp loses text indexes? (#4803) self.loginAsPortalOwner() |