some time zone stuff
This commit is contained in:
228
rowers/views.py
228
rowers/views.py
@@ -3597,6 +3597,12 @@ def workout_comment_view(request,id=0):
|
||||
@login_required()
|
||||
def workout_edit_view(request,id=0,message="",successmessage=""):
|
||||
request.session[translation.LANGUAGE_SESSION_KEY] = USER_LANGUAGE
|
||||
|
||||
try:
|
||||
# check if valid ID exists (workout exists)
|
||||
row = Workout.objects.get(id=id)
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("Workout doesn't exist")
|
||||
|
||||
if request.method == 'POST':
|
||||
# Form was submitted
|
||||
@@ -3621,137 +3627,111 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
|
||||
startdatetime = (str(date) + ' ' + str(starttime))
|
||||
startdatetime = datetime.datetime.strptime(startdatetime,
|
||||
"%Y-%m-%d %H:%M:%S")
|
||||
startdatetime = timezone.make_aware(startdatetime)
|
||||
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.starttime = starttime
|
||||
row.startdatetime = startdatetime
|
||||
row.workouttype = workouttype
|
||||
row.notes = notes
|
||||
row.duration = duration
|
||||
row.distance = distance
|
||||
row.boattype = boattype
|
||||
row.privacy = privacy
|
||||
row.save()
|
||||
startdatetime = timezone.make_aware(startdatetime)
|
||||
# check if user is owner of this workout
|
||||
if checkworkoutuser(request.user,row):
|
||||
row.name = name
|
||||
row.date = date
|
||||
row.starttime = starttime
|
||||
row.startdatetime = startdatetime
|
||||
row.workouttype = workouttype
|
||||
row.notes = notes
|
||||
row.duration = duration
|
||||
row.distance = distance
|
||||
row.boattype = boattype
|
||||
row.privacy = privacy
|
||||
row.save()
|
||||
# change data in csv file
|
||||
|
||||
r = rdata(row.csvfilename)
|
||||
if r == 0:
|
||||
return HttpResponse("Error: CSV Data File Not Found")
|
||||
r.rowdatetime = startdatetime
|
||||
r.write_csv(row.csvfilename,gzip=True)
|
||||
dataprep.update_strokedata(id,r.df)
|
||||
successmessage = "Changes saved"
|
||||
url = "/rowers/workout/"+str(row.id)+"/edit"
|
||||
url = reverse(workout_edit_view,
|
||||
kwargs = {
|
||||
'id':str(row.id),
|
||||
'successmessage':str(successmessage),
|
||||
})
|
||||
response = HttpResponseRedirect(url)
|
||||
else:
|
||||
message = "You are not allowed to change this workout"
|
||||
|
||||
r = rdata(row.csvfilename)
|
||||
if r == 0:
|
||||
return HttpResponse("Error: CSV Data File Not Found")
|
||||
r.rowdatetime = startdatetime
|
||||
r.write_csv(row.csvfilename,gzip=True)
|
||||
dataprep.update_strokedata(id,r.df)
|
||||
successmessage = "Changes saved"
|
||||
url = "/rowers/workout/"+str(row.id)+"/edit"
|
||||
url = reverse(workout_edit_view,
|
||||
kwargs = {
|
||||
'id':str(row.id),
|
||||
'successmessage':str(successmessage),
|
||||
})
|
||||
response = HttpResponseRedirect(url)
|
||||
else:
|
||||
message = "You are not allowed to change this workout"
|
||||
url = reverse(workouts_view,args=[str(message)])
|
||||
|
||||
response = HttpResponseRedirect(url)
|
||||
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()
|
||||
successmessage = "New Workout Created"
|
||||
url = reverse(workouts_view,
|
||||
kwargs = {
|
||||
'successmessage':str(successmessage),
|
||||
|
||||
response = HttpResponseRedirect(url)
|
||||
|
||||
response = HttpResponseRedirect(url)
|
||||
else:
|
||||
message = "Invalid Form"
|
||||
url = reverse(workouts_view,args=[str(message)])
|
||||
|
||||
else: # form not POSTed
|
||||
form = WorkoutForm(instance=row)
|
||||
|
||||
|
||||
try:
|
||||
row = Workout.objects.get(id=id)
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("Workout doesn't exist")
|
||||
|
||||
g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime")
|
||||
# check if user is owner of this workout
|
||||
|
||||
if (checkworkoutuser(request.user,row)==False):
|
||||
raise Http404("You are not allowed to edit this workout")
|
||||
|
||||
# create interactive plot
|
||||
f1 = row.csvfilename
|
||||
u = request.user
|
||||
r = Rower.objects.get(user=u)
|
||||
rowdata = rdata(f1)
|
||||
hascoordinates = 1
|
||||
if rowdata != 0:
|
||||
try:
|
||||
latitude = rowdata.df[' latitude']
|
||||
if not latitude.std():
|
||||
hascoordinates = 0
|
||||
except KeyError,AttributeError:
|
||||
hascoordinates = 0
|
||||
|
||||
|
||||
else:
|
||||
try:
|
||||
row = Workout.objects.get(id=id)
|
||||
form = WorkoutForm(instance=row)
|
||||
g = GraphImage.objects.filter(workout=row).order_by("-creationdatetime")
|
||||
# check if user is owner of this workout
|
||||
|
||||
if (checkworkoutuser(request.user,row)==False):
|
||||
message = "You are not allowed to edit this workout"
|
||||
url = reverse(workouts_view,args=[str(message)])
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
else:
|
||||
# create interactive plot
|
||||
f1 = row.csvfilename
|
||||
u = request.user
|
||||
r = Rower.objects.get(user=u)
|
||||
rowdata = rdata(f1)
|
||||
hascoordinates = 1
|
||||
if rowdata != 0:
|
||||
try:
|
||||
latitude = rowdata.df[' latitude']
|
||||
if not latitude.std():
|
||||
hascoordinates = 0
|
||||
except KeyError,AttributeError:
|
||||
hascoordinates = 0
|
||||
|
||||
else:
|
||||
hascoordinates = 0
|
||||
|
||||
|
||||
if hascoordinates:
|
||||
res = googlemap_chart(rowdata.df[' latitude'],
|
||||
rowdata.df[' longitude'],
|
||||
row.name)
|
||||
gmscript = res[0]
|
||||
gmdiv = res[1]
|
||||
else:
|
||||
gmscript = ""
|
||||
gmdiv = ""
|
||||
|
||||
|
||||
# render page
|
||||
if (len(g)<=3):
|
||||
return render(request, 'workout_form.html',
|
||||
{'form':form,
|
||||
'workout':row,
|
||||
'graphs1':g[0:3],
|
||||
'message': message,
|
||||
'successmessage': successmessage,
|
||||
'gmscript': gmscript,
|
||||
'gmdiv': gmdiv,
|
||||
})
|
||||
|
||||
else:
|
||||
return render(request, 'workout_form.html',
|
||||
{'form':form,
|
||||
'workout':row,
|
||||
'graphs1':g[0:3],
|
||||
'graphs2':g[3:6],
|
||||
'message': message,
|
||||
'successmessage': successmessage,
|
||||
'gmscript': gmscript,
|
||||
'gmdiv': gmdiv,
|
||||
else:
|
||||
hascoordinates = 0
|
||||
|
||||
|
||||
except Workout.DoesNotExist:
|
||||
message = "workout doesn't exist"
|
||||
url = reverse(workouts_view,
|
||||
kwargs = {
|
||||
'message': str(message)
|
||||
})
|
||||
|
||||
if hascoordinates:
|
||||
res = googlemap_chart(rowdata.df[' latitude'],
|
||||
rowdata.df[' longitude'],
|
||||
row.name)
|
||||
gmscript = res[0]
|
||||
gmdiv = res[1]
|
||||
else:
|
||||
gmscript = ""
|
||||
gmdiv = ""
|
||||
|
||||
|
||||
# render page
|
||||
if (len(g)<=3):
|
||||
return render(request, 'workout_form.html',
|
||||
{'form':form,
|
||||
'workout':row,
|
||||
'graphs1':g[0:3],
|
||||
'message': message,
|
||||
'successmessage': successmessage,
|
||||
'gmscript': gmscript,
|
||||
'gmdiv': gmdiv,
|
||||
})
|
||||
|
||||
else:
|
||||
return render(request, 'workout_form.html',
|
||||
{'form':form,
|
||||
'workout':row,
|
||||
'graphs1':g[0:3],
|
||||
'graphs2':g[3:6],
|
||||
'message': message,
|
||||
'successmessage': successmessage,
|
||||
'gmscript': gmscript,
|
||||
'gmdiv': gmdiv,
|
||||
})
|
||||
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Create the chart image with wind corrected pace (OTW)
|
||||
|
||||
Reference in New Issue
Block a user