Exemplo n.º 1
0
Arquivo: views.py Projeto: doc97/tman
def delete_tag():
    if not state.validate():
        state.save('next', 'tags_all')
        return redirect(url_for('auth_logout'))

    json_id_data = request.json['tag_id'] if 'tag_id' in request.json else ''
    tag_id = int(json_id_data[4:]) if json_id_data.startswith('tag-') else -1
    tag = Tag.query.filter((Tag.id == tag_id)
                           & (Tag.account_id == current_user.id)).first()
    if tag:
        db.session.delete(tag)
        db.session.commit()
    return state.get_url_for_function()
Exemplo n.º 2
0
def delete_task():
    if not state.validate():
        state.save('next', 'tasks_today')
        return redirect(url_for('auth_logout'))

    json_data = request.json['task_id']
    task_id = int(json_data[5:]) if json_data.startswith('task-') else -1
    task = Task.query.filter((Task.account_id == current_user.id)
                             & (Task.id == task_id)).first()
    if task:
        db.session.delete(task)
        db.session.commit()
    return state.get_url_for_function()
Exemplo n.º 3
0
def new_task():
    if not state.validate():
        state.save('next', 'tasks_today')
        return redirect(url_for('auth_logout'))

    form = TaskForm(request.form)

    if not form.validate():
        return redirect(state.get_url_for_function())

    form_desc = form.description.data

    list_id = func.url_function_to_int()
    tasklist_result = TaskList.query.filter(TaskList.id == list_id).first()
    if tasklist_result:
        last_task = Task.query.filter((Task.tasklist_id == list_id)
                                      & (Task.account_id == current_user.id)
                                      & (Task.is_completed == False)).order_by(
                                          desc(Task.order)).first()
        order = last_task.order + 1 if last_task else 1
        created_task = Task(current_user.id, list_id, order, form_desc)
        db.session.add(created_task)
        db.session.commit()
    return redirect(state.get_url_for_function())
Exemplo n.º 4
0
def move_task():
    if not state.validate():
        state.save('next', 'tasks_today')
        return redirect(url_for('auth_logout'))

    json_id_data = request.json['task_id']
    json_list_data = request.json['list_id']
    task_id = int(json_id_data[5:]) if json_id_data.startswith('task-') else -1
    list_id = int(
        json_list_data[5:]) if json_list_data.startswith('move-') else -1
    task = Task.query.filter(Task.id == task_id).first()
    tasklist = TaskList.query.filter(TaskList.id == list_id).first()

    if task and tasklist:
        task.tasklist_id = tasklist.id
        db.session.commit()

    return state.get_url_for_function()
Exemplo n.º 5
0
def complete_task():
    if not state.validate():
        state.save('next', 'tasks_today')
        return redirect(url_for('auth_logout'))

    json_data = request.json['task_id']
    task_id = int(json_data[5:]) if json_data.startswith('task-') else -1
    task = Task.query.filter((Task.account_id == current_user.id)
                             & (Task.id == task_id)).first()
    if task:
        list_id = func.url_function_to_int()
        task_count = Task.query.filter((Task.tasklist_id == list_id)
                                       & (Task.account_id == current_user.id)
                                       & (Task.is_completed == True)).count()
        task.is_completed = True
        task.order = task_count + 1
        db.session.commit()
    return state.get_url_for_function()
Exemplo n.º 6
0
Arquivo: views.py Projeto: doc97/tman
def tags_edit():
    if not state.validate():
        state.save('next', 'tags_all')
        return redirect(url_for('auth_logout'))

    if request.method == "GET":
        state.save('url_function', 'tags_edit')

        tag_id_data = request.args.get("tag", default="", type=str)
        tag_id = tag_id_data[4:] if tag_id_data.startswith('tag-') else -1
        tag_query = Tag.query.filter(
            (Tag.id == tag_id) & (Tag.account_id == current_user.id)).first()

        tag_form = TagForm()
        if tag_query:
            tag_form.name.data = tag_query.name
        return render_template('tags/tags_edit.html',
                               form=tag_form,
                               tag=tag_query)
    else:
        form = TagForm(request.form)

        if not form.validate():
            return redirect(state.get_url_for_function())

        form_name = form.name.data
        tag_id = request.args.get("tagId", default=-1, type=int)
        tag_query = Tag.query.filter(
            (Tag.id == tag_id) & (Tag.account_id == current_user.id)).first()
        print(tag_query)

        if tag_query:
            tag_query.name = form_name
        else:
            created_tag = Tag(current_user.id, form_name)
            db.session.add(created_tag)
        db.session.commit()
        return redirect(url_for('tags_all'))