Auto-create initial PloneSite instance on zope startup
[zope-bootstrap.git] / src / koehsel.policy / koehsel / policy / __init__.py
1 import setuphandlers
2 import OFS.Application
3 from App.Product import doInstall
4 import transaction
5 from AccessControl.SecurityManagement import newSecurityManager
6 import AccessControl
7 from Testing.makerequest import makerequest
8
9 orig_install_standards = None
10
11 def install_standards(app):
12     orig_install_standards(app)
13     transaction.commit()
14
15     # Log in as 'admin' user
16     newSecurityManager(None, app.acl_users.getUser('admin'))
17     setuphandlers.appInit(makerequest(app))
18     transaction.commit()
19
20     # Back to system user
21     newSecurityManager(None, AccessControl.User.system)
22
23
24 def initialize(context):
25     """Initializer called when used as a Zope 2 product."""
26     global orig_install_standards
27
28     if doInstall():
29         orig_install_standards = OFS.Application.install_standards
30         OFS.Application.install_standards = install_standards