Пример #1
0
def get_task_page(_id):
    context = get_base_data()
    task = get_task(_id)
    if not task or not task['active']:
        abort(404)
    if request.method == 'GET':
        context.update(task)
        return render_template('task_page.html', **context)
    else:
        usr_flag = request.form['flag']
        message = check_flag(_id, context['u_id'], usr_flag)
        context = get_base_data()
        context.update(message=message)
        return render_template('message.html', **context)
Пример #2
0
def get_task_page(_id):
    context = get_base_data()
    task = get_task(_id)
    if not task or not task['active']:
        abort(404)
    if request.method == 'GET':
        context.update(task)
        first_blood_users_show = app.config.get('FIRST_BLOOD_SHOW_COUNT') or 3
        context['solved'] = get_solved_task_builder((_id,)).limit(first_blood_users_show).all()
        return render_template('task_page.html', **context)
    else:
        usr_flag = request.form['flag']
        message = check_flag(_id, context['u_id'], usr_flag)
        context = get_base_data()
        context.update(message=message)
        return render_template('message.html', **context)
Пример #3
0
def get_solvers_page(_id):
    context = get_base_data()
    task = get_task(_id)
    if not task or not task['active']:
        abort(404)
    context.update(task)
    context['solved'] = solved_task_query_builder((_id,)).all()
    return render_template("solvers.html", **context)
Пример #4
0
def contest_detail(c_id):
    context = get_base_data()
    curr_contest = Contest.query.get(int(c_id))
    if not curr_contest.is_active():
        abort(404)
    task_map = get_tasks_by_contest_id(curr_contest)
    context.update(task_map=task_map)
    return render_template('tasks.html', **context)
Пример #5
0
def get_solvers_page(_id):
    context = get_base_data()
    task = get_task(_id)
    if not task or not task['active']:
        abort(404)
    context.update(task)
    context['solved'] = get_solved_task_builder((_id,)).all()
    return render_template("solvers.html", **context)
Пример #6
0
def contest_detail(c_id):
    context = get_base_data()
    curr_contest = Contest.query.get(int(c_id))
    if not curr_contest.is_active():
        abort(404)
    task_map = get_tasks_by_contest_id(curr_contest)
    context.update(task_map=task_map)
    return render_template('tasks.html', **context)
Пример #7
0
def get_task_page(_id):
    context = get_base_data()
    task = get_task(_id)
    contest_id = get_contest_id_by_task(task)
    if not task or not task['active']:
        abort(404)
    if request.method == 'GET':
        context.update(task)
        first_blood_users_show = app.config.get('FIRST_BLOOD_SHOW_COUNT') or 3
        context['solved'] = get_solved_task_builder((_id,)).limit(first_blood_users_show).all()
        return render_template('task_page.html', **context)
    else:
        usr_flag = request.form['flag']
        message = check_flag(_id, context['u_id'], usr_flag)
        context = get_base_data()
        context.update(message=message)
        context.update(contest_id=contest_id)
        context.update(task_id=task['id'])
        return render_template('message.html', **context)
Пример #8
0
def groups_view():
    context = get_base_data()
    groups = defaultdict(dict)
    for g in get_all_groups():
        groups[g.id]['group'] = g
        groups[g.id]['joined'] = False
    joined_groups = get_groups_with_user_info(user_id()).all()
    for g in joined_groups:
        groups[g.id]['joined'] = True
    context['groups'] = groups

    return render_template("groups.html", **context)
Пример #9
0
def get_task_page(_id):
    context = get_base_data()
    task = get_task(_id)
    if not task or not task['active']:
        abort(404)
    contest_id = request.args.get('c_id', None)
    if request.method == 'GET':
        context.update(task)
        first_blood_users_show = app.config.get('FIRST_BLOOD_SHOW_COUNT', 3)
        context['solved'] = solved_task_query_builder((_id,)).limit(first_blood_users_show).all()
        return render_template('task_page.html', **context)
    else:
        usr_flag = request.form['flag']
        status = check_flag(_id, context['u_id'], usr_flag)
        context = get_base_data()
        back_url = request.url
        if (status == SubmitResult.OK or status == SubmitResult.ALREADY_SOLVED) and contest_id is not None:
            back_url = url_for('contest_view.contest_detail', c_id=contest_id)

        context['contest_id'] = contest_id
        context['back_url'] = back_url
        context.update(message=status.status_message(), )
        return render_template('message.html', **context)
Пример #10
0
def list_contests():
    context = get_base_data()
    context.update(dict(contests=get_contests_list()))
    return render_template('contests.html', **context)
Пример #11
0
def list_contests():
    context = get_base_data()
    context.update(dict(contests=get_contests_list()))
    return render_template('contests.html', **context)
Пример #12
0
def scoreboard():
    context = get_base_data()
    context.update(teams=get_user_scores())
    return render_template('scores.html', **context)
Пример #13
0
def scoreboard(group_id=None):
    context = get_base_data()
    group_id = request.args.get("group_id")
    context.update(teams=get_user_scores(group_id=group_id))
    return render_template('scores.html', **context)
Пример #14
0
def index():
    context = get_base_data()
    return render_template('index.html', **context)
Пример #15
0
def user_view(user_id):
    context = get_base_data()
    user = get_user_by_id(user_id)
    context['user'] = user
    return render_template('user_page.html', **context)
Пример #16
0
def scoreboard(group_id=None):
    context = get_base_data()
    group_id = request.args.get("group_id")
    context.update(teams=get_user_scores(group_id=group_id))
    return render_template('scores.html', **context)
Пример #17
0
def groups_view():
    context = get_base_data()
    context['groups'] = get_all_groups()
    return render_template("groups.html", **context)
Пример #18
0
def user_view(user_id):
    context = get_base_data()
    user = get_user_by_id(user_id)
    context['user'] = user
    return render_template('user_page.html', **context)
Пример #19
0
def groups_view():
    context = get_base_data()
    context['groups'] = get_all_groups()
    return render_template("groups.html", **context)
Пример #20
0
def index():
    context = get_base_data()
    return render_template('index.html', **context)