diff --git a/rowers/templates/embedded_video.html b/rowers/templates/embedded_video.html index e0a8f0d7..27201bc5 100644 --- a/rowers/templates/embedded_video.html +++ b/rowers/templates/embedded_video.html @@ -179,7 +179,9 @@ {{ form.as_table }} {% csrf_token %} + {% if not analysis.id %} + {% endif %}

diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 05bc68e2..1c108ad9 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -195,10 +195,21 @@ def workout_video_create_view(request,id=0): video_id = video_id, delay=delay, ) - analysis.save() - url = reverse('workout_video_view', - kwargs={'id':encoder.encode_hex(analysis.id)}) - return HttpResponseRedirect(url) + try: + analysis.save() + url = reverse('workout_video_view', + kwargs={'id':encoder.encode_hex(analysis.id)}) + return HttpResponseRedirect(url) + except IntegrityError: + messages.error(request,'You cannot save two video analysis with the same YouTube video and Workout. Redirecting to your existing analysis') + analysis = VideoAnalysis.objects.filter(workout=w,video_id=video_id) + if analysis: + url = reverse('workout_video_view', + kwargs={'id':encoder.encode_hex(analysis[0].id)}) + else: + url = reverse('workout_video_create_view', + kwargs={'id':encoder.encode_hex(w.id)}) + return HttpResponseRedirect(url) else: video_id = None delay = 0 @@ -240,7 +251,7 @@ def workout_video_create_view(request,id=0): 'form':form, 'analysis':analysis, 'breadcrumbs':breadcrumbs, - 'maxtime':coordinates['time'].max() + 'maxtime':maxtime, }) # Show the EMpower Oarlock generated Stroke Profile