def get_round(user_dao, round_id): """ Summary: Get juror-level details for a round, identified by round ID. """ juror_dao = JurorDAO(user_dao) rnd = juror_dao.get_round(round_id) rnd_stats = juror_dao.get_round_task_counts(round_id) data = make_juror_round_details(rnd, rnd_stats) # TODO: add to Round model return {'data': data}
def get_campaign(user_dao, campaign_id): """ Summary: Get juror-level list of rounds, identified by campaign ID. """ juror_dao = JurorDAO(user_dao) campaign = juror_dao.get_campaign(campaign_id) data = campaign.to_details_dict() rounds = [] for rnd in campaign.rounds: rnd_stats = juror_dao.get_round_task_counts(rnd.id) ballot = juror_dao.get_ballot(rnd.id) rounds.append(make_juror_round_details(rnd, rnd_stats, ballot)) data['rounds'] = rounds return {'data': data}
def get_tasks_from_round(user_dao, round_id, request): count = request.values.get('count', 15) offset = request.values.get('offset', 0) juror_dao = JurorDAO(user_dao) juror_dao.confirm_active(round_id) rnd = juror_dao.get_round(round_id) if rnd.vote_method == 'ranking': count = MAX_RATINGS_SUBMIT # TODO: better constant tasks = juror_dao.get_tasks_from_round(round_id, num=count, offset=offset) stats = juror_dao.get_round_task_counts(round_id) data = {'stats': stats, 'tasks': []} for task in tasks: data['tasks'].append(task.to_details_dict()) return {'data': data}