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())
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.')
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())