def make_proposals_badgeable(root, registry): # pragma: no cover """Add badge services processes and make proposals badgeable.""" catalogs = find_service(root, 'catalogs') proposals = _search_for_interfaces(catalogs, IProposal) for proposal in proposals: if not IBadgeable.providedBy(proposal): logger.info('add badgeable interface to {0}'.format(proposal)) alsoProvides(proposal, IBadgeable) if 'badge_assignments' not in proposal: logger.info('add badge assignments to {0}'.format(proposal)) add_badge_assignments_service(proposal, registry, {}) processes = _search_for_interfaces(catalogs, IProcess) for process in processes: if not IHasBadgesPool.providedBy(process): logger.info('Add badges service to {0}'.format(process)) add_badges_service(process, registry, {}) alsoProvides(process, IHasBadgesPool)
def make_mercator_proposals_badgeable(root, registry): """Add badge services processes and make mercator proposals badgeable.""" from adhocracy_core.evolution import _search_for_interfaces from adhocracy_mercator.resources.mercator import IProcess catalogs = find_service(root, 'catalogs') proposals = _search_for_interfaces(catalogs, IMercatorProposal) for proposal in proposals: if not IBadgeable.providedBy(proposal): logger.info('add badgeable interface to {0}'.format(proposal)) alsoProvides(proposal, IBadgeable) if 'badge_assignments' not in proposal: logger.info('add badge assignments to {0}'.format(proposal)) add_badge_assignments_service(proposal, registry, {}) processes = _search_for_interfaces(catalogs, IProcess) for process in processes: if not IHasBadgesPool.providedBy(process): logger.info('Add badges service to {0}'.format(process)) add_badges_service(process, registry, {}) alsoProvides(process, IHasBadgesPool)