def createComponentRegistry(context): enableSite(context, iface=IObjectManagerSite) components = PersistentComponents() components.__bases__ = (base,) components.__parent__ = aq_base(context) context.setSiteManager(components)
def test_getNextUtility(self): # test local site vs. global site global_dummy = DummyUtility() provideUtility(global_dummy, IDummyUtility) local_dummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, local_dummy) self.assertEquals(zapi.getUtility(IDummyUtility), local_dummy) self.assertEquals(getNextUtility(self.folder.site, IDummyUtility), global_dummy) # test local site vs. nested local site manage_addDummySite(self.folder.site, 'subsite') enableSite(self.folder.site.subsite) setSite(self.folder.site.subsite) sublocal_dummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, sublocal_dummy) self.assertEquals(zapi.getUtility(IDummyUtility), sublocal_dummy) self.assertEquals(getNextUtility(self.folder.site.subsite, IDummyUtility), local_dummy) self.assertEquals(getNextUtility(self.folder.site, IDummyUtility), global_dummy)
def setupVarious(context): portal = context.getSite() if not ISite.providedBy(portal): enableSite(portal) setupLanguages(portal) clearPortlets(portal) setupNavigationPortlet(portal)
def test_nestedSitesDontConflictButStillAcquire(self): # let's register a dummy utility in the dummy site dummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, dummy) # let's also create a subsite and make that our site manage_addDummySite(self.folder.site, 'subsite') enableSite(self.folder.site.subsite) setSite(self.folder.site.subsite) # we should still be able to lookup the original utility from # the site one level above self.assertEqual(zapi.getUtility(IDummyUtility), dummy) # now we register a dummy utility in the subsite and see that # its registration doesn't conflict subdummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, subdummy) # when we look it up we get the more local one now because the # more local one shadows the less local one self.assertEqual(zapi.getUtility(IDummyUtility), subdummy) # getAllUtilitiesFor gives us both the more local and the less # local utility (XXX not sure if this is the right semantics # for getAllUtilitiesFor) self.assertEqual(sets.Set(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), sets.Set([subdummy, dummy])) # getUtilitiesFor will only find one, because the more local # one shadows the less local one self.assertEqual(list(zapi.getUtilitiesFor(IDummyUtility)), [('', subdummy)])
def makeSite(self): """Convert a possible site to a site""" if self.isSite(): raise ValueError('This is already a site') enableSite(self.context) return "This object is now a site"
def test_getNextUtility(self): # test local site vs. global site global_dummy = DummyUtility() provideUtility(global_dummy, IDummyUtility) local_dummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, local_dummy) self.assertEquals(zapi.getUtility(IDummyUtility), local_dummy) self.assertEquals(getNextUtility(self.folder.site, IDummyUtility), global_dummy) # test local site vs. nested local site manage_addDummySite(self.folder.site, 'subsite') enableSite(self.folder.site.subsite) setSite(self.folder.site.subsite) sublocal_dummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, sublocal_dummy) self.assertEquals(zapi.getUtility(IDummyUtility), sublocal_dummy) self.assertEquals( getNextUtility(self.folder.site.subsite, IDummyUtility), local_dummy) self.assertEquals(getNextUtility(self.folder.site, IDummyUtility), global_dummy)
def createComponentRegistry(context): enableSite(context, iface=IObjectManagerSite) components = PersistentComponents() components.__bases__ = (base, ) components.__parent__ = aq_base(context) context.setSiteManager(components)
def enableLocalSiteHook(obj): warnings.warn("The enableLocalSiteHook is deprecated and will be removed " "in Zope 2.12. \nSee Five/doc/localsite.txt .", DeprecationWarning, 2) enableSite(obj) components = FiveSiteManager(obj) obj.setSiteManager(components) setSite(obj) setHooks()
def createComponentRegistry(context): enableSite(context, iface=IObjectManagerSite) components = PersistentComponents('++etc++site') components.__bases__ = (base, ) components.__parent__ = aq_base(context) # Make sure calls to getSiteManager on me return myself # necessary because OFS.ObjectManager.getSiteManager expects _components components._components = components context.setSiteManager(components)
def createComponentRegistry(context): enableSite(context, iface=IObjectManagerSite) components = PersistentComponents('++etc++site') components.__bases__ = (base,) components.__parent__ = aq_base(context) # Make sure calls to getSiteManager on me return myself # necessary because OFS.ObjectManager.getSiteManager expects _components components._components = components context.setSiteManager(components)
def makeSite(self): if IObjectManagerSite.providedBy(self.context): raise ValueError('This is already a site') enableSite(self.context, iface=IObjectManagerSite) #TODO in the future we'll have to walk up to other site # managers and put them in the bases components = PersistentComponents() components.__bases__ = (base,) self.context.setSiteManager(components)
def enable_local_site(obj): enableSite(obj, iface=IObjectManagerSite) for parent in aq_chain(obj)[1:]: if ISite.providedBy(parent): p_sm = parent.getSiteManager() bases = (p_sm, ) + p_sm.__bases__ break else: bases = (base, ) components = PersistentComponents() components.__bases__ = bases obj.setSiteManager(components)
def enable_local_site(obj): enableSite(obj, iface=IObjectManagerSite) for parent in aq_chain(obj)[1:]: if ISite.providedBy(parent): p_sm = parent.getSiteManager() bases = (p_sm,) + p_sm.__bases__ break else: bases = (base,) components = PersistentComponents() components.__bases__ = bases obj.setSiteManager(components)
def make_site(obj, iface=ISite): """Give the specified object required qualities to identify it as a proper ISite. """ if ISite.providedBy(obj): raise ValueError('This is already a site') next = find_next_sitemanager(obj) if next is None: next = base enableSite(obj, iface=iface) components = PersistentComponents('++etc++site', bases=(next,)) obj.setSiteManager(components) components.__parent__ = aq_base(obj)
def make_site(obj, iface=ISite): """Give the specified object required qualities to identify it as a proper ISite. """ if ISite.providedBy(obj): raise ValueError('This is already a site') next = find_next_sitemanager(obj) if next is None: next = base enableSite(obj, iface=iface) components = PersistentComponents('++etc++site', bases=(next, )) obj.setSiteManager(components) components.__parent__ = aq_base(obj)
def install(context): portal = context.getSite() if not 'fr' in portal.objectIds(): raise Warning("You must first go to .../plone/@@language-setup-folders") if not ISite.providedBy(portal): enableSite(portal) deleteFolder(portal, 'news') deleteFolder(portal, 'events') deleteFolder(portal, 'Members') setupLanguages(portal) # Don't touch portlets anymore since manual changes have been made TTW # clearPortlets(portal) # setupNavigationPortlet(portal) # setupNavigation(portal) setupLinkIntegrityCheck(portal) addRoles(portal) activatePloneLDAPPlugin(portal) addMemberProperty(portal)
def afterSetUp(self): setUp() zcml.load_config("meta.zcml", Products.Five) zcml.load_config("permissions.zcml", Products.Five) zcml.load_config("configure.zcml", Products.Five.component) zcml.load_config("configure.zcml", Products.Five.site) zcml_text = """\ <five:localsite xmlns:five="http://namespaces.zope.org/five" class="Products.Five.site.tests.dummy.DummySite" />""" zcml.load_string(zcml_text) manage_addDummySite(self.folder, 'site') enableSite(self.folder.site) setSite(self.folder.site) # Hook up custom component architecture calls; we need to do # this here because zope.app.component.hooks registers a # cleanup with the testing cleanup framework, so the hooks get # torn down by placelesssetup each time. setHooks()
def make_site(obj, iface=ISite): """Give the specified object required qualities to identify it as a proper ISite. """ if ISite.providedBy(obj): raise ValueError('This is already a site') next = find_next_sitemanager(obj) if next is None: next = base enableSite(obj, iface=iface) name = 'five' path = getattr(obj, 'getPhysicalPath', None) if path is not None and callable(path): name = '/'.join(path()) components = PersistentComponents(name=name, bases=(next,)) obj.setSiteManager(components) components.__parent__ = aq_base(obj)
def test_nestedSitesDontConflictButStillAcquire(self): # let's register a dummy utility in the dummy site dummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, dummy) # let's also create a subsite and make that our site manage_addDummySite(self.folder.site, 'subsite') enableSite(self.folder.site.subsite) setSite(self.folder.site.subsite) # we should still be able to lookup the original utility from # the site one level above self.assertEqual(zapi.getUtility(IDummyUtility), dummy) # now we register a dummy utility in the subsite and see that # its registration doesn't conflict subdummy = DummyUtility() sm = zapi.getSiteManager() sm.registerUtility(IDummyUtility, subdummy) # when we look it up we get the more local one now because the # more local one shadows the less local one self.assertEqual(zapi.getUtility(IDummyUtility), subdummy) # getAllUtilitiesFor gives us both the more local and the less # local utility (XXX not sure if this is the right semantics # for getAllUtilitiesFor) self.assertEqual( sets.Set(zapi.getAllUtilitiesRegisteredFor(IDummyUtility)), sets.Set([subdummy, dummy])) # getUtilitiesFor will only find one, because the more local # one shadows the less local one self.assertEqual(list(zapi.getUtilitiesFor(IDummyUtility)), [('', subdummy)])
def setupgdwdoc(context): logger.debug('Setup gdwdoc skin') portal = context.getSite() if not ISite.providedBy(portal): enableSite(portal) activatePloneLDAPPlugin(portal)
def setupAffinitic(context): logger.debug('Setup Affinitic skin') portal = context.getSite() if not ISite.providedBy(portal): enableSite(portal)