51 lines
1.5 KiB
Python
51 lines
1.5 KiB
Python
@login_required()
|
|
def workout_edit_view(request,id=0):
|
|
if request.method == 'POST':
|
|
# Form was submitted
|
|
form = WorkoutForm(request.POST)
|
|
if form.is_valid():
|
|
# Get values from form
|
|
name = request.POST['name']
|
|
date = request.POST['date']
|
|
workouttype = request.POST['workouttype']
|
|
notes = request.POST['notes']
|
|
try:
|
|
# check if valid ID exists (workout exists)
|
|
row = Workout.objects.get(id=id)
|
|
# check if user is owner of this workout
|
|
if checkworkoutuser(request.user,row):
|
|
row.name = name
|
|
row.date = date
|
|
row.workouttype = workouttype
|
|
row.notes = notes
|
|
row.save()
|
|
response = HttpResponse("data updated")
|
|
else:
|
|
response = HttpResponse("You are not allowed to change this workout")
|
|
except Workout.DoesNotExist:
|
|
# create new workout
|
|
r = Rower.objects.get(user=request.user)
|
|
w = Workout(name=name,date=date,workouttype=workouttype,
|
|
user=r)
|
|
w.save()
|
|
response = HttpResponse("New workout created")
|
|
else:
|
|
response = HttpResponse("invalid form")
|
|
|
|
return response
|
|
else:
|
|
try:
|
|
row = Workout.objects.get(id=id)
|
|
form = WorkoutForm(instance=row)
|
|
# check if user is owner of this workout
|
|
|
|
if (checkworkoutuser(request.user,row)==False):
|
|
return HttpResponse("You are not allowed to edit this workout")
|
|
except Workout.DoesNotExist:
|
|
form = WorkoutForm(
|
|
initial = {'workouttype' : 'rower'}
|
|
)
|
|
|
|
return render(request, 'workout_form.html',
|
|
{'form':form,})
|