def update_habits(): if request.method == "POST": submitted = request.form.getlist( "done") # returns a list of checked habit-content # get list of user habits, check if habit-contents match submitted-contents habits = get_current_user_habits_content_as_list() matched = [] for habit in habits: if habit in submitted: matched.append(habit) user = User.get_id(current_user) my_habits = Habit.query.filter(Habit.user_id == user).all() # for each matching habit update the user current habit habit-streak +1 for h in my_habits: if h.content in matched: update_streak = int(Habit.get_streak(h)) update_streak += 1 h.streak = update_streak db.session.commit() return render_template('view_streaks.html') else: habits = get_current_user_habits_content_as_list() return render_template('update_habits.html', habits=habits)
def get_current_user_habits_content_as_list(): user = User.get_id(current_user) my_habits = Habit.query.filter(Habit.deleted == False).filter( Habit.user_id == user).all() habits = [] for habit in my_habits: habits.append(Habit.get_content(habit)) return habits
def tasks(): if request.method == "POST": task_content = request.form['task_content'] else: user = User.get_id(current_user) tasks = Task.query.filter(Task.completed == False).filter( Task.user_id == user).all() return render_template('tasks.html', tasks=tasks)
def habits(): if request.method == "POST": habit_content = request.form['habit_content'] if not habit_content: flash("Unable to add habit without content.") return redirect(url_for('habits')) new_habit = Habit(content=habit_content, user=current_user) db.session.add(new_habit) db.session.commit() flash("New habit added!") return redirect(url_for('habits')) else: user = User.get_id(current_user) habits = Habit.query.filter(Habit.deleted == False).filter( Habit.user_id == user).all() return render_template('habits.html', habits=habits)
def view_streaks(): user = User.get_id(current_user) habits = Habit.query.filter(Habit.deleted == False).filter( Habit.user_id == user).all() return render_template('view_streaks.html', habits=habits)