Example #1
0
def corrige_conteudo_collectivecover(portal_setup):
    """ Verifica se o campo css_class não é uma string válida,
        e substitui por uma string vazia.
    """
    # Initial content was not indexed correctly, reindex all covers
    _reindex_covers()
    logger.info("All covers were reindexed.")
    # Make sure collective.cover is upgraded before continuing
    upgrade_profile(portal_setup, "collective.cover:default")

    logger.info("CSS classes will be fixed from Cover layouts.")
    # Fix registry layouts
    registry = getUtility(IRegistry)
    settings = registry.forInterface(ICoverSettings)
    fixed_layouts = {}
    for name, layout in settings.layouts.iteritems():
        fixed_layouts[name] = _corrige_conteudo_collectivecover(None, layout)
    settings.layouts = fixed_layouts
    logger.info("Registry layouts were updated.")

    # Fix cover layouts
    covers = portal_setup.portal_catalog(object_provides=ICover.__identifier__)
    logger.info("Layout of {0} objects will be updated".format(len(covers)))

    for cover in covers:
        obj = cover.getObject()
        obj.cover_layout = _corrige_conteudo_collectivecover(obj, obj.cover_layout)
        logger.info('"{0}" was updated'.format(obj.absolute_url_path()))

    # Necessário caso os upgradeSteps não sejam executados na ordem correta.
    # Ver https://github.com/plonegovbr/brasil.gov.portal/issues/289
    # Esse método está presente no collective.cover a partir da versão 1.0a11,
    # e essa versão é pinada no IDG 1.1.3, momento em que esse upgradeStep foi
    # gerado.
    simplify_layout(api.portal.get())
Example #2
0
def upgrades_carosel_cover(setup):
    """
    Executa upgrades do cover que não foram executadas na tile de carrossel.

    Como agora estamos utilizando o corrossel do cover, precisamos executar os
    upgrades do carrossel do cover que não foram executados quando existia o
    carrossel no brasil.gov.portal.
    """

    # Esse upgrade não era executado na antiga tile de carrossel do
    # brasil.gov.tiles porque ela não era uma tile de lista e este upgrade era
    # exetutado somente em tiles de lista.
    upgrade_carousel_tiles_custom_url(setup)

    # Garante que o layout dos covers sejam corrigidos. Isso é necessário caso
    # algum cover não tenha sido atualizado quando o upgrade do cover foi
    # executado, deixando o index object_provides sem ser atualizado no
    # catálogo. simplify_layout depende que o index object_provides esteja
    # atualizado. A execução de upgrade_carousel_tiles_custom_url acima,
    # atualiza o cover.
    simplify_layout(setup)

    logger = logging.getLogger(PROJECTNAME)
    logger.info('Executado upgrades do carrossel do cover.')
Example #3
0
def corrige_conteudo_collectivecover(portal_setup):
    """ Verifica se o campo css_class não é uma string válida,
        e substitui por uma string vazia.
    """
    # Initial content was not indexed correctly, reindex all covers
    _reindex_covers()
    logger.info('All covers were reindexed.')
    # Make sure collective.cover is upgraded before continuing
    upgrade_profile(portal_setup, 'collective.cover:default')

    logger.info('CSS classes will be fixed from Cover layouts.')
    # Fix registry layouts
    registry = getUtility(IRegistry)
    settings = registry.forInterface(ICoverSettings)
    fixed_layouts = {}
    for name, layout in settings.layouts.iteritems():
        fixed_layouts[name] = _corrige_conteudo_collectivecover(None, layout)
    settings.layouts = fixed_layouts
    logger.info('Registry layouts were updated.')

    # Fix cover layouts
    covers = portal_setup.portal_catalog(object_provides=ICover.__identifier__)
    logger.info('Layout of {0} objects will be updated'.format(len(covers)))

    for cover in covers:
        obj = cover.getObject()
        obj.cover_layout = _corrige_conteudo_collectivecover(
            obj, obj.cover_layout)
        logger.info('"{0}" was updated'.format(obj.absolute_url_path()))

    # Necessário caso os upgradeSteps não sejam executados na ordem correta.
    # Ver https://github.com/plonegovbr/brasil.gov.portal/issues/289
    # Esse método está presente no collective.cover a partir da versão 1.0a11,
    # e essa versão é pinada no IDG 1.1.3, momento em que esse upgradeStep foi
    # gerado.
    simplify_layout(api.portal.get())