Esempio n. 1
0
def create_task_view():
    goals = get_goals(owner=current_user.id, include_top_level=False)

    if len(goals["basic"]) == 0:
        flash("No goals exist. Create a goal before creating tasks!", "danger")
        return redirect(url_for("create_goal"))

    form = CreateTaskForm(request.form)
    form.associated_goal.choices = goals["display"]
    if request.method == "POST" and form.validate():
        associated_goal_name = None
        for goal in goals["basic"]:
            if form.associated_goal.data == goal[0]:
                associated_goal_name = goal[1]
                break

        if associated_goal_name is None:
            # Should only happen if a page was left open long enough for
            # the location to be deleted in a separate session
            flash("Associated goal not found, cannot create task.", "danger")
            return redirect(url_for("create_task"))

        new_task = Task.create(
            name=form.task_name.data, associated_goal_id=form.associated_goal.data, owner_id=current_user.id
        )

        if new_task is None:
            flash("Task %s already exists under %s!" % (form.task_name.data, associated_goal_name), "danger")
            return redirect(url_for("create_task"))
        else:
            flash("Task %s created under %s!" % (form.task_name.data, associated_goal_name), "success")
            return redirect(url_for("home"))
    else:
        return render_turkey("task.html", form=form)
Esempio n. 2
0
def create_task_view():
    goals = get_goals(owner=current_user.id, include_top_level=False)

    if len(goals['basic']) == 0:
        flash(
            'No goals exist. Create a goal before creating tasks!',
            'danger',
        )
        return redirect(url_for('create_goal'))

    form = CreateTaskForm(request.form)
    form.associated_goal.choices = goals['display']
    if request.method == 'POST' and form.validate():
        associated_goal_name = None
        for goal in goals['basic']:
            if form.associated_goal.data == goal[0]:
                associated_goal_name = goal[1]
                break

        if associated_goal_name is None:
            # Should only happen if a page was left open long enough for
            # the location to be deleted in a separate session
            flash(
                'Associated goal not found, cannot create task.',
                'danger',
            )
            return redirect(url_for('create_task'))

        new_task = Task.create(
            name=form.task_name.data,
            associated_goal_id=form.associated_goal.data,
            owner_id=current_user.id,
        )

        if new_task is None:
            flash(
                'Task %s already exists under %s!' % (
                    form.task_name.data,
                    associated_goal_name,
                ),
                'danger',
            )
            return redirect(url_for('create_task'))
        else:
            flash(
                'Task %s created under %s!' % (
                    form.task_name.data,
                    associated_goal_name,
                ),
                'success',
            )
            return redirect(url_for('home'))
    else:
        return render_turkey("task.html", form=form)
Esempio n. 3
0
def create_task_view():
    goals = get_goals(owner=current_user.id, include_top_level=False)

    if len(goals['basic']) == 0:
        flash(
            'No goals exist. Create a goal before creating tasks!',
            'danger',
        )
        return redirect(url_for('create_goal'))

    form = CreateTaskForm(request.form)
    form.associated_goal.choices = goals['display']
    if request.method == 'POST' and form.validate():
        associated_goal_name = None
        for goal in goals['basic']:
            if form.associated_goal.data == goal[0]:
                associated_goal_name = goal[1]
                break

        if associated_goal_name is None:
            # Should only happen if a page was left open long enough for
            # the location to be deleted in a separate session
            flash(
                'Associated goal not found, cannot create task.',
                'danger',
            )
            return redirect(url_for('create_task'))

        new_task = Task.create(
            name=form.task_name.data,
            associated_goal_id=form.associated_goal.data,
            owner_id=current_user.id,
        )

        if new_task is None:
            flash(
                'Task %s already exists under %s!' % (
                    form.task_name.data,
                    associated_goal_name,
                ),
                'danger',
            )
            return redirect(url_for('create_task'))
        else:
            flash(
                'Task %s created under %s!' % (
                    form.task_name.data,
                    associated_goal_name,
                ),
                'success',
            )
            return redirect(url_for('home'))
    else:
        return render_turkey("task.html", form=form)
Esempio n. 4
0
def create_goal_view():
    goals = get_goals(owner=current_user.id)

    form = GoalForm(request.form)
    form.parent_goal.choices = goals['display']
    if request.method == 'POST' and form.validate():
        parent_goal_name = None
        for goal in goals['basic']:
            if form.parent_goal.data == goal[0]:
                parent_goal_name = goal[1]
                break

        if parent_goal_name is None:
            # Should only happen if a page was left open long enough for
            # the location to be deleted in a separate session
            flash(
                'Parent goal not found, cannot create goal.',
                'danger',
            )
            return redirect(url_for('create_goal'))

        new_goal = Goal.create(
            name=form.goal_name.data,
            parent_goal_id=form.parent_goal.data,
            owner_id=current_user.id,
        )

        if new_goal is None:
            flash(
                'Goal %s already exists under %s!' % (
                    form.goal_name.data,
                    parent_goal_name,
                ),
                'danger',
            )
            return redirect(url_for('create_goal'))
        else:
            flash(
                'Goal %s created under %s!' % (
                    form.goal_name.data,
                    parent_goal_name,
                ),
                'success',
            )
            return redirect(url_for('home'))
    else:
        return render_turkey("goal.html", form=form)