def make_users_badgeable(root, registry): # pragma: no cover """Add badge services and make user badgeable.""" principals = find_service(root, 'principals') if not IHasBadgesPool.providedBy(principals): logger.info('Add badges service to {0}'.format(principals)) add_badges_service(principals, registry, {}) alsoProvides(principals, IHasBadgesPool) users = find_service(root, 'principals', 'users') assignments = find_service(users, 'badge_assignments') if assignments is None: logger.info('Add badge assignments service to {0}'.format(users)) add_badge_assignments_service(users, registry, {}) migrate_new_sheet(root, IUser, IBadgeable)
def make_users_badgeable(root): # pragma: no cover """Add badge services and make user badgeable.""" registry = get_current_registry(root) principals = find_service(root, "principals") if not IHasBadgesPool.providedBy(principals): logger.info("Add badges service to {0}".format(principals)) add_badges_service(principals, registry, {}) alsoProvides(principals, IHasBadgesPool) users = find_service(root, "principals", "users") assignments = find_service(users, "badge_assignments") if assignments is None: logger.info("Add badge assignments service to {0}".format(users)) add_badge_assignments_service(users, registry, {}) migrate_new_sheet(root, IUser, IBadgeable)
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)