def evolve(context):
    root = getRootFolder(context)

    for site in findObjectsMatching(root, ISite.providedBy):
        setSite(site)

        sm = site.getSiteManager()
        cp = sm.get('controlpanel', None)
        if cp is None:
            continue
        data = cp.get('system.activity', None)
        if data is None:
            continue
        catalog = data['catalog']
        keys = []
        for key, val in data.records.items():
            if str(val.__class__) in (
                "<class 'zojax.content.draft.activity.DraftPublishedActivityRecord'>",
                "<class 'zojax.content.draft.activity.DraftStatusActivityRecord'>"):
                keys.append(key)

        for key in keys:
            del data.records[key]

        catalog.clear()
        catalog.updateIndexes()

    setSite(None)
Beispiel #2
0
def evolve(context):
    root = getRootFolder(context)

    for site in findObjectsMatching(root, ISite.providedBy):
        setSite(site)
        def matchIndex(ob):
            return ob.__class__ in (NormalizationWrapper, )
        try:
            for rt in (site.getSiteManager(), site):
                for index in findObjectsMatching(rt, matchIndex):
                    del index.__parent__[index.__name__]
        finally:
            setSite(None)
Beispiel #3
0
def evolve(context):
    """Setup catalog and indices for fulltext search."""
    root = getRootFolder(context)
    for site in findObjectsProviding(root, IWorldCookerySite):
        sm = site.getSiteManager()
        if u'catalog' not in sm:
            setupCatalogAndIndices(ObjectEvent(site))

            setSite(site)
            for recipe in findObjectsProviding(site, IRecipe):
                addIntIdSubscriber(recipe, ObjectEvent(recipe))
                indexDocSubscriber(ObjectEvent(recipe))
            setSite(None)
Beispiel #4
0
def evolve(context):
    root = getRootFolder(context)

    for site in findObjectsProviding(root, ISite):
        sm = site.getSiteManager()

        pau = component.queryUtility(IAuthentication, context = sm)
        if pau is not None and IPluggableAuthentication.providedBy(pau):
            if OLD_CRED_NAME in pau:
                plugins = list(pau.credentialsPlugins)
                if OLD_CRED_NAME in plugins:
                    plugins.remove(OLD_CRED_NAME)
                    pau.credentialsPlugins = tuple(plugins)

                del pau[OLD_CRED_NAME]

            setSite(site)
            factory = component.getUtility(ICredentialsPluginFactory, 'default.credentials')
            factory.install()
            factory.activate()
            setSite(None)