Beispiel #1
0
def task(task_id):
    user = current_user
    task = user.tasks.filter_by(task_id=task_id).first()
    task_finish = Task.query.filter_by(status=0, user_id=user.id).first()
    if not task_finish is None and task.id > task_finish.id:
        return redirect(url_for('task.task', task_id=task_finish.id))
    base_task = ManagerTask.get_task(task_id)
    name = base_task.name
    description = base_task.description
    instruction = base_task.instruction
    example = base_task.example
    quest = base_task.quest

    form, result = check_from(user)
    table_names = user.get_table_names()
    return render_template('task/task.html',
                           **result,
                           table_names=table_names,
                           name=name,
                           description=description,
                           instruction=instruction,
                           example=example,
                           quest=quest,
                           task=task,
                           form=form)
Beispiel #2
0
def finish(task_id):
    user = current_user
    task = user.tasks.filter_by(task_id=task_id).first()
    if task.status == 1:
        score, errors = ManagerTask.check(task_id=task_id, user=user)
        task_name = ManagerTask.get_task(task_id=task_id).name
        task.status = 2
        task.score = score
        task.finish_time = datetime.utcnow()
        db.session.commit()
        return render_template('task/finish.html',
                               title=task_name,
                               procent=task.score,
                               errors=errors)
    else:
        return redirect(url_for('task.task', task_id=task_id))