@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,})