Beispiel #1
0
def index():
    db, c = get_db()
    c.execute(
        "select t.id, t.description, u.username, t.completed, t.created_at from todo t  JOIN user u on t.created_by = u.id where t.created_by = %s order by created_at desc",
        (g.user["id"], ))
    todos = c.fetchall()

    return render_template("todo/index.html", todos=todos)
Beispiel #2
0
def get_todo(id):
    db, c = get_db()
    c.execute(
        "select t.id, t.description, t.completed, t.created_by, t.created_at, u.username from todo t join user u on t.created_by = u.id where t.id = %s ",
        (id, ))
    todo = c.fetchone()

    if todo is None:
        abort(404, "El todo de id (0) no existe".format(id))

    return todo
Beispiel #3
0
def create():
    if request.method == "POST":
        description = request.form["description"]
        error = None
        if not description:
            error = "Descripcion es requerida"

        if error is not None:
            flash(error)
        else:
            db, c = get_db()
            c.execute(
                "insert into todo (description, completed, created_by)"
                " values (%s, %s, %s )", (description, False, g.user["id"]))
            db.commit()
            return redirect(url_for("todo.index"))

    return render_template("todo/create.html")
Beispiel #4
0
def update(id):
    todo = get_todo(id)

    if request.method == "POST":
        description = request.form["description"]
        completed = True if request.form.get("completed") == "on" else False
        error = None

        if not description:
            error = "la descripcion es requerida"

        if error is not None:
            flash(error)
        else:
            db, c = get_db()
            c.execute(
                "update todo set description = %s, completed = %s"
                " where id = %s and created_by = %s",
                (description, completed, id, g.user["id"]))
            db.commit()
            return redirect(url_for("todo.index"))

    return render_template("todo/update.html", todo=todo)
Beispiel #5
0
def delete(id):
    db, c = get_db()
    c.execute("delete from todo where id = %s and created_by = %s",
              (id, g.user["id"]))
    db.commit()
    return redirect(url_for("todo.index"))