split workout (bugs)
This commit is contained in:
@@ -36,7 +36,7 @@ from rowers.forms import (
|
||||
RegistrationFormUniqueEmail,CNsummaryForm,UpdateWindForm,
|
||||
UpdateStreamForm,WorkoutMultipleCompareForm,ChartParamChoiceForm,
|
||||
FusionMetricChoiceForm,BoxPlotChoiceForm,MultiFlexChoiceForm,
|
||||
TrendFlexModalForm,
|
||||
TrendFlexModalForm,WorkoutSplitForm,
|
||||
)
|
||||
from rowers.models import Workout, User, Rower, WorkoutForm,FavoriteChart
|
||||
from rowers.models import (
|
||||
@@ -7773,6 +7773,8 @@ def workout_delete_view(request,id=0):
|
||||
messages.info(request,'Workout deleted')
|
||||
try:
|
||||
url = request.session['referer']
|
||||
if 'rowers/workout/' in url:
|
||||
url = reverse(workouts_view)
|
||||
except KeyError:
|
||||
url = reverse(workouts_view)
|
||||
|
||||
@@ -7877,7 +7879,7 @@ def graph_show_view(request,id):
|
||||
raise Http404("This graph doesn't exist")
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("This workout doesn't exist")
|
||||
|
||||
|
||||
# Restore original stroke data and summary
|
||||
@login_required()
|
||||
def workout_summary_restore_view(request,id,message="",successmessage=""):
|
||||
@@ -7935,6 +7937,54 @@ def workout_summary_restore_view(request,id,message="",successmessage=""):
|
||||
)
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Split a workout
|
||||
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
|
||||
def workout_split_view(request,id=id):
|
||||
try:
|
||||
row = Workout.objects.get(id=id)
|
||||
if (checkworkoutuser(request.user,row)==False):
|
||||
raise PermissionDenied("You are not allowed to edit this workout")
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("Workout doesn't exist")
|
||||
|
||||
r = getrower(request.user)
|
||||
if not checkworkoutuser(request.user,row):
|
||||
raise PermissionDenied("You are not allowed to edit this workout")
|
||||
|
||||
if request.method == 'POST':
|
||||
form = WorkoutSplitForm(request.POST)
|
||||
if form.is_valid():
|
||||
splittime = form.cleaned_data['splittime']
|
||||
splitsecond = splittime.hour*3600
|
||||
splitsecond += splittime.minute*60
|
||||
splitsecond += splittime.second
|
||||
splitsecond += splittime.microsecond/1.e6
|
||||
splitmode = form.cleaned_data['splitmode']
|
||||
ids,mesgs = dataprep.split_workout(r,row,splitsecond,splitmode)
|
||||
for message in mesgs:
|
||||
messages.info(request,message)
|
||||
|
||||
url = reverse(workouts_view)
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
form = WorkoutSplitForm()
|
||||
|
||||
# create interactive plot
|
||||
try:
|
||||
res = interactive_chart(id,promember=1)
|
||||
script = res[0]
|
||||
div = res[1]
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
return render(request, 'splitworkout.html',
|
||||
{'form':form,
|
||||
'workout':row,
|
||||
'thediv':script,
|
||||
'thescript':div,
|
||||
})
|
||||
|
||||
|
||||
# Fuse two workouts
|
||||
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
|
||||
def workout_fusion_view(request,id1=0,id2=1):
|
||||
|
||||
Reference in New Issue
Block a user