Exemplo n.º 1
0
def edit_task(t_id):
    task, tags = get_task(t_id)
    form = TaskForm(name=task['name'],
                    statement=task['statement'],
                    short_statement=task['short_statement'],
                    todo=task['todo'],
                    tutorial=task['tutorial'],
                    complexity=task['complexity'],
                    source=task['source'])

    form.set_choices()

    if form.validate_on_submit():
        d = _to_dict(form)
        d['tags'] = [t['tag'] for t in d['tags']]
        update_task(d, t_id)
        return redirect(url_for('render_task', t_id=t_id))

    if tags != []:
        form.tags.pop_entry()

        for tag in tags:
            t = Tag()
            t.set_choices()
            t.tag = tag['id']
            t.csrf_token = form.csrf_token
            form.tags.append_entry(t)

    form.set_choices()

    return render_template(form.template,
                           form=form,
                           name="Редактировать задачу")
Exemplo n.º 2
0
def add_task():
    form = TaskForm()
    c_id = request.args.get('c_id', None)

    form.set_choices()

    if form.validate_on_submit():
        d = _to_dict(form)
        d['c_id'] = c_id
        form.add(d)
        if c_id != None:
            return redirect(url_for('render_contest', c_id=c_id))
        else:
            return redirect(url_for('table_tasks'))

    return render_template(form.template, form=form, name="Add task")