コード例 #1
0
ファイル: routes.py プロジェクト: brownlessdaniel1/Project_01
def deleteList(list_name):

    if not listExists(list_name):
        return redirect(url_for("home"))

    list_id = getListId(list_name)
    list_pending_deletion = Checklist.query.filter_by(id=list_id).first()
    tasks_pending_deletion = getTasks(getListId(list_name))

    for task in tasks_pending_deletion:
        db.session.delete(task)
    db.session.delete(list_pending_deletion)
    db.session.commit()

    return redirect(url_for("home"))
コード例 #2
0
ファイル: routes.py プロジェクト: brownlessdaniel1/Project_01
def deleteTask(list_name, task_name):

    if not taskExists(list_name, task_name):
        return redirect(url_for("home"))

    list_id = getListId(list_name)
    task_pending_deletion = Task.query.filter_by(list_id=list_id,
                                                 name=task_name).first()
    db.session.delete(task_pending_deletion)
    db.session.commit()

    return redirect(url_for("editList", list_name=list_name))
コード例 #3
0
ファイル: routes.py プロジェクト: brownlessdaniel1/Project_01
def editList(list_name):

    if not listExists(list_name):
        return redirect(url_for("home"))

    list_id = getListId(list_name)

    message = "Add tasks!"
    error_text = ""

    task_input = TaskForm()
    if request.method == "POST" and task_input.validate_on_submit():
        new_task = Task(name=task_input.user_input.data, list_id=list_id)
        db.session.add(new_task)
        db.session.commit()
        task_input.user_input.data = ""
        message = "task added!"
    else:
        if task_input.user_input.errors:
            error_text = task_input.user_input.errors[0]

    # Read
    task_details = {}
    for item in Task.query.all():
        task_details[item.name] = [item.date_done]

    # Display config:

    done_tasks = doneTaskNames(list_id=list_id)
    non_done_tasks = notDoneTaskNames(list_id=list_id)

    if len(done_tasks) == 0:
        done_tasks_exists = False
    else:
        done_tasks_exists = True
    if len(non_done_tasks) == 0:
        non_done_tasks_exists = False
    else:
        non_done_tasks_exists = True

    return render_template("edit_list.html",
                           list_name=list_name,
                           non_done_tasks_exists=non_done_tasks_exists,
                           non_done_tasks=non_done_tasks,
                           form=task_input,
                           task_details=task_details,
                           done_tasks_exists=done_tasks_exists,
                           done_tasks=done_tasks,
                           message=message,
                           error_text=error_text)
コード例 #4
0
ファイル: routes.py プロジェクト: brownlessdaniel1/Project_01
def markDoneList(list_name):

    if not listExists(list_name):
        return redirect(url_for("home"))

    list_pending_update = Checklist.query.filter_by(name=list_name).first()
    list_pending_update.done = True
    list_pending_update.date_done = str(datetime.today())[0:10]

    list_id = getListId(list_name)
    tasks_pending_update = getTasks(list_id)
    for item in tasks_pending_update:
        item.done = True
        item.date_done = str(datetime.today())[0:10]
        db.session.commit()
    db.session.commit()

    return redirect(url_for("home"))
コード例 #5
0
ファイル: routes.py プロジェクト: brownlessdaniel1/Project_01
def markNotDoneTask(list_name, task_name):

    if not taskExists(list_name, task_name):
        return redirect(url_for("editList", list_name=list_name))

    task_pending_update = Task.query.filter_by(
        name=task_name, list_id=getListId(list_name)).first()
    task_pending_update.done = False
    task_pending_update.date_done = "-"
    db.session.commit()

    # set list.done = False if not all tasks are done.

    if getTaskCount(list_name) != getDoneTaskCount(list_name):
        list_pending_update = Checklist.query.filter_by(name=list_name).first()
        list_pending_update.done = False
        list_pending_update.date_done = "-"
        db.session.commit()

    return redirect(url_for("editList", list_name=list_name))
コード例 #6
0
ファイル: routes.py プロジェクト: brownlessdaniel1/Project_01
def markDoneTask(list_name, task_name):

    if not taskExists(list_name, task_name):
        return redirect(url_for("editList", list_name=list_name))

    task_pending_update = Task.query.filter_by(
        name=task_name, list_id=getListId(list_name)).first()
    task_pending_update.done = True
    task_pending_update.date_done = str(datetime.today())[0:10]
    db.session.commit()

    # set list.done = true if all tasks are done.

    if getTaskCount(list_name) == getDoneTaskCount(list_name):

        list_pending_update = Checklist.query.filter_by(name=list_name).first()
        list_pending_update.done = True
        list_pending_update.date_done = str(datetime.today())[0:10]
        db.session.commit()

    return redirect(url_for("editList", list_name=list_name))