Beispiel #1
0
def user_page(request, username):
    # check that user exists
    get_object_or_404(User, username=username)

    # get user activities if they do exist
    get_user_activity = StrongLifts.objects.filter(user__username=username).order_by('-added_at')

    if request.method == 'POST':
        form = StrongLiftsForm(request.POST)
        if form.is_valid():
            # get form data
            added_at = form.cleaned_data['added_at']
            exercise_name = form.cleaned_data['exercise_name']
            exercise_sets = form.cleaned_data['exercise_sets']
            exercise_reps = form.cleaned_data['exercise_reps']
            exercise_weight = form.cleaned_data['exercise_weight']

            new_workout = StrongLifts(added_at=added_at,
                                      exercise_name=exercise_name,
                                      exercise_sets=exercise_sets,
                                      exercise_reps=exercise_reps,
                                      exercise_weight=exercise_weight,
                                      user=request.user)
            new_workout.save()
            return HttpResponseRedirect('/stronglifts/u/{0}'.format(request.user.username))
    else:
        form = StrongLiftsForm()
    return render(request, 'strong_lifts/user_page.html',
                  context={
                      'form': form,
                      'get_user_activity': get_user_activity[0:15],
                      'username': username,
                      'user_maxes': current_maxes(request.user, get_user_activity)
                    }
                  )
Beispiel #2
0
def update_exercise(request, username, exercise_id):

    # get the exercise object and make sure it belongs to the user
    exercise_edit = get_object_or_404(StrongLifts, id=exercise_id, user=request.user)

    if request.method == 'POST':
        form = StrongLiftsForm(request.POST,
                initial={
                    'added_at': exercise_edit.added_at,
                    'exercise_name': exercise_edit.exercise_name,
                    'exercise_weight': exercise_edit.exercise_weight,
                    'exercise_sets': exercise_edit.exercise_sets,
                    'exercise_reps': exercise_edit.exercise_reps
                }
        )
        if form.is_valid():
            exercise_edit.added_at = form.cleaned_data['added_at']
            exercise_edit.exercise_name = form.cleaned_data['exercise_name']
            exercise_edit.exercise_sets = form.cleaned_data['exercise_sets']
            exercise_edit.exercise_reps = form.cleaned_data['exercise_reps']
            exercise_edit.exercise_weight = form.cleaned_data['exercise_weight']
            exercise_edit.save()
            return HttpResponseRedirect('/stronglifts/u/{0}'.format(request.user.username))
    else:
        form = StrongLiftsForm(
                initial={
                    'added_at': exercise_edit.added_at,
                    'exercise_weight': exercise_edit.exercise_weight,
                    'exercise_sets': exercise_edit.exercise_sets,
                    'exercise_reps': exercise_edit.exercise_reps,
                    'exercise_name': exercise_edit.exercise_name
                }
        )
    return render(request, 'strong_lifts/update_exercise.html',
                  context={
                        'form': form,
                        'exercise_edit': exercise_edit,
                        'username': username,
                        'exercise_id': exercise_id
                    }
                  )
Beispiel #3
0
def remove_exercise(request, username, exercise_id):

    # get the exercise object and make sure it belongs to the user
    exercise_to_delete = get_object_or_404(StrongLifts, id=exercise_id, user=request.user)

    if request.method == 'POST':
        form = StrongLiftsForm(request.POST)
        if form.is_valid():
            exercise_to_delete.delete()
            return HttpResponseRedirect('/stronglifts/u/{0}'.format(request.user.username))
    else:
        form = StrongLiftsForm(
            initial={
                    'added_at': exercise_to_delete.added_at,
                    'exercise_weight': exercise_to_delete.exercise_weight,
                    'exercise_sets': exercise_to_delete.exercise_sets,
                    'exercise_reps': exercise_to_delete.exercise_reps,
                    'exercise_name': exercise_to_delete.exercise_name
                }
        )

        # update form field attrs to be readonly
        # although any changes by the user won't be saved, its a better experience
        form.fields['exercise_weight'].widget.attrs['readonly'] = 'readonly'
        form.fields['exercise_sets'].widget.attrs['readonly'] = 'readonly'
        form.fields['exercise_name'].widget.attrs['readonly'] = 'readonly'
        form.fields['exercise_reps'].widget.attrs['readonly'] = 'readonly'
        form.fields['added_at'].widget.attrs['readonly'] = 'readonly'

        # disable select form dropdowns
        form.fields['exercise_name'].widget.attrs['disabled'] = 'disabled'
        form.fields['added_at'].widget.attrs['disabled'] = 'disabled'

    return render(request, 'strong_lifts/remove_exercise.html',
                  context={
                      'form': form,
                      'exercise_delete': exercise_to_delete,
                      'username': username,
                      'exercise_id': exercise_id
                  }
              )