def rootify_site(self, app, portal): print "Ensuring site is visible at '/'" if not "rootify" in app.objectIds(): print " Adding DTMLMethod 'rootify'..." app.addDTMLMethod('rootify', file=""" <dtml-let stack="REQUEST['TraversalRequestNameStack']"> <dtml-if "stack and stack[-1]=='zmi'"> <dtml-call "stack.pop()"> <dtml-call "REQUEST.setVirtualRoot('zmi')"> <dtml-else> <dtml-call "stack.append('%s')"> </dtml-if> </dtml-let> """ % portal.getId()) else: print " Skipped adding DTMLMethod." if getAccessRule(app) != "rootify": print " Adding AccessRule..." manage_addAccessRule(app, "rootify") else: print " Skipped adding AccessRule." if not "SiteRoot" in portal.objectIds(): print " Adding SiteRoot..." manage_addSiteRoot(portal, title="SiteRoot", base="", path="/") else: print " Skipped adding SiteRoot." transaction.savepoint()
def _callFUT(self, container, REQUEST=None): from Products.SiteAccess.AccessRule import getAccessRule return getAccessRule(container, REQUEST)