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="Редактировать задачу")
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")