Private
Public Access
1
0

manual workout form - datetime is 48 years off

This commit is contained in:
Sander Roosendaal
2017-11-18 17:03:18 -07:00
parent 0f88d004b1
commit b21c0c122f
5 changed files with 168 additions and 1 deletions

View File

@@ -3096,6 +3096,78 @@ def histo(request,theuser=0,
'teams':get_my_teams(request.user),
})
# add a workout manually
@login_required()
def addmanual_view(request):
r = Rower.objects.get(user=request.user)
if request.method == 'POST':
# Form was submitted
form = WorkoutForm(request.POST)
if form.is_valid():
# Get values from form
name = form.cleaned_data['name']
date = form.cleaned_data['date']
starttime = form.cleaned_data['starttime']
workouttype = form.cleaned_data['workouttype']
duration = form.cleaned_data['duration']
distance = form.cleaned_data['distance']
notes = form.cleaned_data['notes']
thetimezone = form.cleaned_data['timezone']
try:
boattype = request.POST['boattype']
except KeyError:
boattype = '1x'
try:
privacy = request.POST['privacy']
except KeyError:
privacy = 'visible'
try:
rankingpiece = form.cleaned_data['rankingpiece']
except KeyError:
rankingpiece =- Workout.objects.get(id=id).rankingpiece
startdatetime = (str(date) + ' ' + str(starttime))
startdatetime = datetime.datetime.strptime(startdatetime,
"%Y-%m-%d %H:%M:%S")
startdatetime = timezone.make_aware(startdatetime)
startdatetime = startdatetime.astimezone(
pytz.timezone(thetimezone)
)
df = dataprep.create_row_df(distance,duration,startdatetime)
id,message = dataprep.new_workout_from_df(r,df,
title = name,
parent = None,
)
if message:
messages.error(request,message)
if id:
w = Workout.objects.get(id=id)
w.rankingpiece = rankingpiece
w.notes = notes
w.save()
messages.info(request,'New workout created')
initial = {
'workouttype':'rower',
'date':datetime.date.today(),
'starttime':timezone.now(),
'timezone':r.defaulttimezone,
'duration':datetime.timedelta(minutes=2),
'distance':500,
}
form = WorkoutForm(initial=initial)
return render(request,'manualadd.html',
{'form':form,
})
# Show ranking distances including predicted paces
@login_required()
def rankings_view(request,theuser=0,