Exemplo n.º 1
0
def create_workout():
    form = WorkoutForm()
    print(form.data)
    if form.validate_on_submit():
        workout = Workout(
            user_id=form.data['user_id'],
            title=form.data['title'],
            subtitle=form.data['subtitle'],
            description=form.data['description']
        )
        db.session.add(workout)
        db.session.commit()
        return workout.to_dict()
Exemplo n.º 2
0
def create_workout():
    fields = json.loads(request.form['exercises'])

    form = WorkoutForm()
    form['csrf_token'].data = request.cookies['csrf_token']

    while len(form.exercises) > 0:
        form.exercises.pop_entry()

    for field in fields:
        w_e_form = WorkoutsExercisesForm()
        w_e_form.exercise_id = field['exercise_id']
        w_e_form.sets = field['sets']
        w_e_form.repetitions = field['repetitions']
        form.exercises.append_entry(w_e_form)

    if form.validate_on_submit():
        exercises = []
        workout = Workout(
            workout_name=form.data['workout_name'],
            created_by=current_user.id
        )
        db.session.add(workout)
        db.session.flush()
        obj = workout.to_dict()
        obj['exercises'] = exercises
        for idx, field in enumerate(form.exercises):
            workout_exercise = Workouts_Exercises(
                workout_id=workout.id,
                exercise_id=field.exercise_id.data,
                sets=field.sets.data,
                repetitions=field.repetitions.data,
                created_at=datetime.date.today(),
                updated_at=datetime.date.today(),
            )
            db.session.add(workout_exercise)
            db.session.flush()

            exercise = workout_exercise.exercise
            exercise_dict = exercise.to_dict()
            workout_exercise_dict = workout_exercise.to_dict()

            exercise_dict['sets'] = workout_exercise_dict['sets']
            exercise_dict['repetitions'] = workout_exercise_dict['repetitions']

            exercises.append(exercise_dict)
        db.session.commit()
        return jsonify(obj)
    return {'errors': validation_errors_to_error_messages(form.errors)}