1 from Products.CMFCore.utils import getToolByName
10 def siteSetup(context):
12 if context.readDataFile('koehsel.policy_setup.txt') is None:
15 site = context.getSite()
16 qi = getToolByName(site, 'portal_quickinstaller')
17 wf = getToolByName(site, 'portal_workflow')
19 # Install EasyShop product
21 for p in INSTALL_PRODUCTS:
22 if not qi.isProductInstalled(p):
25 # Add and publish shop instance
28 except AttributeError:
29 site.invokeFactory(id='shop', type_name='EasyShop')
32 shop.shopOwner = 'admin'
33 if wf.getInfoFor(shop,'review_state','') != 'published':
34 wf.doActionFor(shop,'publish',comment='site setup')
36 # Hide Users, News and Events
38 for id in ('Members', 'news', 'events'):
40 if wf.getInfoFor(ob,'review_state','') != 'private':
41 wf.doActionFor(ob,'retract',comment='site setup')
44 def contentSetup(app):
45 app.manage_addProduct['CMFPlone'].addPloneSite(id='site',
46 extension_ids=['koehsel.policy:default'])
49 # Called via hackery in __init__.py on every site start
52 except AttributeError:
54 from Testing.makerequest import makerequest
55 from AccessControl.SecurityManagement import newSecurityManager
56 import transaction, AccessControl
58 # Call 'contentSetup' as SITE_OWNER user with a valid REQUEST
59 req = makerequest(app)
60 newSecurityManager(req.REQUEST, app.acl_users.getUser(SITE_OWNER).__of__(app.acl_users))
63 newSecurityManager(None, AccessControl.User.system)