Example #1
0
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}
Example #2
0
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}
Example #3
0
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}