Private
Public Access
1
0

Merge tag 'deleteconfirm' into develop

raise error404 in a few places
This commit is contained in:
Sander Roosendaal
2017-02-13 22:37:45 +01:00
5 changed files with 196 additions and 48 deletions

View File

@@ -9,7 +9,7 @@ from django.shortcuts import render
from django.http import (
HttpResponse, HttpResponseRedirect,
HttpResponseForbidden, HttpResponseNotAllowed,
HttpResponseNotFound,
HttpResponseNotFound,Http404
)
from django.contrib.auth import authenticate, login, logout
from rowers.forms import LoginForm,DocumentsForm,UploadOptionsForm
@@ -377,7 +377,10 @@ def add_workout_from_strokedata(user,importid,data,strokedata,
dist2 = 0.1*strokedata.ix[:,'d']
spm = strokedata.ix[:,'spm']
hr = strokedata.ix[:,'hr']
try:
hr = strokedata.ix[:,'hr']
except KeyError:
hr = 0*spm
pace = strokedata.ix[:,'p']/10.
pace = np.clip(pace,0,1e4)
pace = pace.replace(0,300)
@@ -673,7 +676,10 @@ def workout_tcxemail_view(request,id=0):
message = ""
successmessage = ""
r = Rower.objects.get(user=request.user)
w = Workout.objects.get(id=id)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)):
try:
tcxfile = stravastuff.createstravaworkoutdata(w)
@@ -725,7 +731,10 @@ def workout_tcxemail_view(request,id=0):
def workout_csvemail_view(request,id=0):
message = ""
r = Rower.objects.get(user=request.user)
w = Workout.objects.get(id=id)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)):
csvfile = w.csvfilename
if settings.DEBUG:
@@ -769,7 +778,10 @@ def workout_strava_upload_view(request,id=0):
return HttpResponseRedirect("/rowers/me/stravaauthorize/")
else:
# ready to upload. Hurray
w = Workout.objects.get(id=id)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)):
try:
tcxfile = stravastuff.createstravaworkoutdata(w)
@@ -862,9 +874,15 @@ def workout_c2_upload_view(request,id=0):
return HttpResponseRedirect("/rowers/me/c2authorize/")
# ready to upload. Hurray
w = Workout.objects.get(id=id)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)):
c2userid = c2stuff.get_userid(thetoken)
if not c2userid:
return HttpResponseRedirect("/rowers/me/c2authorize")
data = c2stuff.createc2workoutdata(w)
authorizationstring = str('Bearer ' + thetoken)
headers = {'Authorization': authorizationstring,
@@ -931,7 +949,11 @@ def workout_sporttracks_upload_view(request,id=0):
return HttpResponseRedirect("/rowers/me/sporttracksauthorize/")
# ready to upload. Hurray
w = Workout.objects.get(id=id)
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)):
data = sporttracksstuff.createsporttracksworkoutdata(w)
if not data:
@@ -1355,7 +1377,11 @@ def cum_flex(request,theuser=0,
# Show the EMpower Oarlock generated Stroke Profile
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_forcecurve_view(request,id=0,workstrokesonly=False):
row = Workout.objects.get(id=id)
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
promember=0
mayedit=0
if not request.user.is_anonymous():
@@ -1394,7 +1420,11 @@ def workout_forcecurve_view(request,id=0,workstrokesonly=False):
# Show Stroke power histogram for a workout
@login_required()
def workout_histo_view(request,id=0):
row = Workout.objects.get(id=id)
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
promember=0
mayedit=0
if not request.user.is_anonymous():
@@ -1830,7 +1860,11 @@ def rankings_view(request,theuser=0,
# Reload the workout and calculate the summary from the stroke data (lapIDx)
@login_required()
def workout_recalcsummary_view(request,id=0):
row = Workout.objects.get(id=id)
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,row)==False):
message = "You are not allowed to edit this workout"
url = reverse(workouts_view,args=[str(message)])
@@ -1963,7 +1997,7 @@ def workout_comparison_list(request,id=0,message='',successmessage='',
s = enddate
enddate = startdate
startdate = s
workouts = Workout.objects.filter(user=r,
startdatetime__gte=startdate,
startdatetime__lte=enddate).order_by("-date", "-starttime").exclude(id=id)
@@ -1987,8 +2021,11 @@ def workout_comparison_list(request,id=0,message='',successmessage='',
workouts = paginator.page(1)
except EmptyPage:
workouts = paginator.page(paginator.num_pages)
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
row = Workout.objects.get(id=id)
return render(request, 'comparison_list.html',
{'id':id,
@@ -2042,12 +2079,16 @@ def workout_view(request,id=0):
'the_div':div})
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
# Resets stroke data to raw data (pace)
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_undo_smoothenpace_view(request,id=0,message="",successmessage=""):
def workout_undo_smoothenpace_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,row)==False):
message = "You are not allowed to edit this workout"
@@ -2074,7 +2115,11 @@ def workout_undo_smoothenpace_view(request,id=0,message="",successmessage=""):
# Data smoothing of pace data
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_smoothenpace_view(request,id=0,message="",successmessage=""):
def workout_smoothenpace_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,row)==False):
message = "You are not allowed to edit this workout"
@@ -2110,7 +2155,11 @@ def workout_smoothenpace_view(request,id=0,message="",successmessage=""):
# Process CrewNerd Summary CSV and update summary
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if request.method == 'POST':
form = CNsummaryForm(request.POST,request.FILES)
@@ -2155,7 +2204,11 @@ def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
# Get weather for given location and date/time
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_downloadwind_view(request,id=0,message="",successmessage=""):
def workout_downloadwind_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
f1 = row.csvfilename
if (checkworkoutuser(request.user,row)==False):
@@ -2212,7 +2265,11 @@ def workout_downloadwind_view(request,id=0,message="",successmessage=""):
# Show form to update wind data
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_wind_view(request,id=0,message="",successmessage=""):
def workout_wind_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,row)==False):
message = "You are not allowed to edit this workout"
@@ -2312,7 +2369,11 @@ def workout_wind_view(request,id=0,message="",successmessage=""):
# Show form to update River stream data (for river dwellers)
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_stream_view(request,id=0,message="",successmessage=""):
def workout_stream_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,row)==False):
message = "You are not allowed to edit this workout"
@@ -2374,7 +2435,11 @@ def workout_stream_view(request,id=0,message="",successmessage=""):
# Form to set average crew weight and boat type, then run power calcs
@user_passes_test(ispromember, login_url="/",redirect_field_name=None)
def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,row)==False):
message = "You are not allowed to edit this workout"
@@ -2460,7 +2525,11 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
# A special Edit page with all the Geeky functionality for the workout
@login_required()
def workout_geeky_view(request,id=0,message="",successmessage=""):
def workout_geeky_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
form = WorkoutForm(instance=row)
g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime")
@@ -2774,7 +2843,10 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
# The Advanced edit page
@login_required()
def workout_advanced_view(request,id=0,message="",successmessage=""):
def workout_advanced_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
form = WorkoutForm(instance=row)
g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime")
@@ -2890,8 +2962,11 @@ def workout_flexchart3_view(request,*args,**kwargs):
except:
favoritenr = 0
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
promember=0
mayedit=0
@@ -3038,7 +3113,11 @@ def workout_flexchart3_view(request,*args,**kwargs):
# The interactive plot with the colored Heart rate zones
def workout_biginteractive_view(request,id=0,message="",successmessage=""):
def workout_biginteractive_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
# check if user is owner of this workout
@@ -3075,7 +3154,11 @@ def workout_biginteractive_view(request,id=0,message="",successmessage=""):
'mayedit':mayedit})
# The interactive plot with wind corrected pace for OTW outings
def workout_otwpowerplot_view(request,id=0,message="",successmessage=""):
def workout_otwpowerplot_view(request,id=0,message="",successmessage=""):
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
# check if user is owner of this workout
@@ -3113,8 +3196,11 @@ def workout_otwpowerplot_view(request,id=0,message="",successmessage=""):
# the page where you can chose where to export this workout
@login_required()
def workout_export_view(request,id=0, message="", successmessage=""):
request.session[translation.LANGUAGE_SESSION_KEY] = USER_LANGUAGE
try:
row = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
form = WorkoutForm(instance=row)
g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime")
@@ -3292,7 +3378,11 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
# Create the chart image with wind corrected pace (OTW)
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_add_otw_powerplot_view(request,id):
def workout_add_otw_powerplot_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3345,7 +3435,11 @@ def workout_add_otw_powerplot_view(request,id):
# Create the Heart rate zone pie chart
@login_required()
def workout_add_piechart_view(request,id):
def workout_add_piechart_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3399,7 +3493,11 @@ def workout_add_piechart_view(request,id):
# Create the Power zone pie chart
@login_required()
def workout_add_power_piechart_view(request,id):
def workout_add_power_piechart_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3451,7 +3549,11 @@ def workout_add_power_piechart_view(request,id):
# Create the time based summary chart
@login_required()
def workout_add_timeplot_view(request,id):
def workout_add_timeplot_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3504,7 +3606,11 @@ def workout_add_timeplot_view(request,id):
# Create the distance based summary chart
@login_required()
def workout_add_distanceplot_view(request,id):
def workout_add_distanceplot_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3555,7 +3661,11 @@ def workout_add_distanceplot_view(request,id):
# Create the advanced parameters distance overview chart
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_add_distanceplot2_view(request,id):
def workout_add_distanceplot2_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3608,7 +3718,11 @@ def workout_add_distanceplot2_view(request,id):
# Create the advanced parameters time based overview chart
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
def workout_add_timeplot2_view(request,id):
def workout_add_timeplot2_view(request,id):
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)==False):
return HttpResponse("You are not allowed add plots to this workout")
@@ -3817,7 +3931,11 @@ def workout_getstravaworkout_view(request,stravaid):
strokedata = res[1]
data = res[0]
id,message = add_workout_from_strokedata(request.user,stravaid,data,strokedata,
source='strava')
source='strava')
try:
w = Workout.objects.get(id=id)
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
w.uploadedtostrava=stravaid
w.save()
@@ -4150,7 +4268,7 @@ def workout_delete_confirm_view(request, id=0):
{'id':id,
'workout':row})
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
# Really deleting the workout
@@ -4170,7 +4288,7 @@ def workout_delete_view(request,id=0):
)
return HttpResponseRedirect(url)
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
# Ask the user to confirm that he wants to delete a chart
@@ -4186,7 +4304,9 @@ def graph_delete_confirm_view(request, id=0):
{'id':id,
'graph':img})
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
except GraphImage.DoesNotExist:
raise Http404("The image doesn't exist")
# Really deleting the chart
@@ -4207,7 +4327,7 @@ def graph_delete_view(request,id=0):
)
return HttpResponseRedirect(url)
except GraphImage.DoesNotExist:
except GraphImage.DoesNotExist:
raise Http404("Graph Image doesn't exist")
@@ -4250,7 +4370,9 @@ def graph_show_view(request,id):
'workout':w,
'rower':r,})
except GraphImage.DoesNotExist:
except GraphImage.DoesNotExist:
raise Http404("This graph doesn't exist")
except Workout.DoesNotExist:
raise Http404("This workout doesn't exist")
# Restore original stroke data and summary
@@ -4260,7 +4382,7 @@ def workout_summary_restore_view(request,id,message="",successmessage=""):
row = Workout.objects.get(id=id)
if (checkworkoutuser(request.user,row)==False):
return HttpResponse("You are not allowed to edit this workout")
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
s = ""
@@ -4315,7 +4437,7 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
row = Workout.objects.get(id=id)
if (checkworkoutuser(request.user,row)==False):
return HttpResponse("You are not allowed to edit this workout")
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
s = ""
@@ -4893,7 +5015,7 @@ def strokedatajson(request,id):
row = Workout.objects.get(id=id)
if (checkworkoutuser(request.user,row)==False):
return HttpResponseForbidden("Permission error")
except Workout.DoesNotExist:
except Workout.DoesNotExist:
raise Http404("Workout doesn't exist")
try:
id = int(id)