def index(): if 'user_id' in session: user = User.query.filter(User.id == session.get('user_id')).one() if user.active_workout is not None: workout = Workout.get(user.active_workout) day = find_closest_workout(workout) return render_template('index.html', day=day) return render_template('index.html', day=None)
def update_workout(id): try: workout = Workout.update({ 'end_time': datetime.now() }).where(Workout.id == id) workout.execute() return Workout.get(Workout.id == id) except Exception as e: print("HUGE", str(e)) return str(e)
def delete_workout(id): if 'user_id' not in session: return redirect('/') workout = Workout.get(id) user_id = workout.user_id if session.get('user_id') != user_id: return redirect('/') Workout.delete(id) flash("Workout Deleted") return redirect(f'/users/{user_id}/workouts')
def get_workout(id): if request.method == 'OPTION': return Response() user_id = session.get('user_id', None) if user_id is None: return jsonify({'success': False}), 403 workout = Workout.get(id) if workout.user.id != user_id: return jsonify({'success': False}), 403 return jsonify(Workout.serialize(id))
def activate_workout(id): if request.method == 'OPTIONS': return Response() user_id = session.get('user_id', None) if user_id is None: return jsonify({'success': False}) workout = Workout.get(id) if user_id != workout.user_id: return jsonify({'success': False}) user = User.query.filter(User.id == workout.user_id).one() user.active_workout = id db.session.commit() return jsonify({'success': True})
def workout(id): if 'user_id' not in session: return redirect('/') workout = Workout.get(id) if session.get('user_id') != workout.user.id: return redirect('/') active = db.session.query( User.active_workout).filter(User.id == workout.user_id).one()[0] is_active = False if workout.id == active: is_active = True return render_template('workout.html', workout=workout, is_active=is_active)
def update_workout(id): if request.method == 'OPTION': return Response() user_id = session.get('user_id', None) if user_id is None: return jsonify({'success': False}), 403 workout = Workout.get(id) if workout.user.id != user_id: return jsonify({'success': False}), 403 name = request.get_json().get('name') Workout.update(id, name) return jsonify({'success': True})
def add_workoutday(id): if 'user_id' not in session: return redirect('/') workout = Workout.get(id) if session.get('user_id') != workout.user_id: return redirect('/') form = DayForm() form.weekday.choices = [(day, day) for day in Workout.available_days(id)] if form.validate_on_submit(): WorkoutDay.add(id, form.weekday.data) db.session.commit() return redirect(f'/workouts/{id}') return render_template('add_day.html', form=form)
def get_workout(workout_id): return Workout.get(Workout.id == workout_id)