+import setuphandlers
+import OFS.Application
+from App.Product import doInstall
+import transaction
+from AccessControl.SecurityManagement import newSecurityManager
+import AccessControl
+from Testing.makerequest import makerequest
+
+orig_install_standards = None
+
+def install_standards(app):
+ orig_install_standards(app)
+ transaction.commit()
+
+ # Log in as 'admin' user
+ newSecurityManager(None, app.acl_users.getUser('admin'))
+ setuphandlers.appInit(makerequest(app))
+ transaction.commit()
+
+ # Back to system user
+ newSecurityManager(None, AccessControl.User.system)
+
def initialize(context):
"""Initializer called when used as a Zope 2 product."""
+ global orig_install_standards
+
+ if doInstall():
+ orig_install_standards = OFS.Application.install_standards
+ OFS.Application.install_standards = install_standards