Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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')
Exemple #4
0
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))
Exemple #5
0
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})
Exemple #6
0
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)
Exemple #7
0
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})
Exemple #8
0
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)
Exemple #9
0
def get_workout(workout_id):
    return Workout.get(Workout.id == workout_id)