some time zone stuff
This commit is contained in:
@@ -393,7 +393,7 @@ class Workout(models.Model):
|
|||||||
maxhr = models.IntegerField(blank=True,null=True)
|
maxhr = models.IntegerField(blank=True,null=True)
|
||||||
uploadedtostrava = models.IntegerField(default=0)
|
uploadedtostrava = models.IntegerField(default=0)
|
||||||
uploadedtosporttracks = models.IntegerField(default=0)
|
uploadedtosporttracks = models.IntegerField(default=0)
|
||||||
notes = models.CharField(blank=True,null=True,max_length=200)
|
notes = models.CharField(blank=True,null=True,max_length=1000)
|
||||||
summary = models.TextField(blank=True)
|
summary = models.TextField(blank=True)
|
||||||
privacy = models.CharField(default='visible',max_length=30,
|
privacy = models.CharField(default='visible',max_length=30,
|
||||||
choices=privacychoices)
|
choices=privacychoices)
|
||||||
|
|||||||
@@ -580,9 +580,7 @@ class ViewTest(TestCase):
|
|||||||
form = WorkoutForm(data=form_data)
|
form = WorkoutForm(data=form_data)
|
||||||
self.assertTrue(form.is_valid())
|
self.assertTrue(form.is_valid())
|
||||||
response = self.c.post('/rowers/workout/1/edit', form_data, follow=True)
|
response = self.c.post('/rowers/workout/1/edit', form_data, follow=True)
|
||||||
self.assertRedirects(response,
|
self.assertEqual(response.status_code, 200)
|
||||||
expected_url='/rowers/workout/1/edit/s/Changes%20saved',
|
|
||||||
status_code=302,target_status_code=200)
|
|
||||||
|
|
||||||
|
|
||||||
w = Workout.objects.get(id=1)
|
w = Workout.objects.get(id=1)
|
||||||
|
|||||||
228
rowers/views.py
228
rowers/views.py
@@ -3597,6 +3597,12 @@ def workout_comment_view(request,id=0):
|
|||||||
@login_required()
|
@login_required()
|
||||||
def workout_edit_view(request,id=0,message="",successmessage=""):
|
def workout_edit_view(request,id=0,message="",successmessage=""):
|
||||||
request.session[translation.LANGUAGE_SESSION_KEY] = USER_LANGUAGE
|
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':
|
if request.method == 'POST':
|
||||||
# Form was submitted
|
# Form was submitted
|
||||||
@@ -3621,137 +3627,111 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
|
|||||||
startdatetime = (str(date) + ' ' + str(starttime))
|
startdatetime = (str(date) + ' ' + str(starttime))
|
||||||
startdatetime = datetime.datetime.strptime(startdatetime,
|
startdatetime = datetime.datetime.strptime(startdatetime,
|
||||||
"%Y-%m-%d %H:%M:%S")
|
"%Y-%m-%d %H:%M:%S")
|
||||||
startdatetime = timezone.make_aware(startdatetime)
|
startdatetime = timezone.make_aware(startdatetime)
|
||||||
try:
|
# check if user is owner of this workout
|
||||||
# check if valid ID exists (workout exists)
|
if checkworkoutuser(request.user,row):
|
||||||
row = Workout.objects.get(id=id)
|
row.name = name
|
||||||
# check if user is owner of this workout
|
row.date = date
|
||||||
if checkworkoutuser(request.user,row):
|
row.starttime = starttime
|
||||||
row.name = name
|
row.startdatetime = startdatetime
|
||||||
row.date = date
|
row.workouttype = workouttype
|
||||||
row.starttime = starttime
|
row.notes = notes
|
||||||
row.startdatetime = startdatetime
|
row.duration = duration
|
||||||
row.workouttype = workouttype
|
row.distance = distance
|
||||||
row.notes = notes
|
row.boattype = boattype
|
||||||
row.duration = duration
|
row.privacy = privacy
|
||||||
row.distance = distance
|
row.save()
|
||||||
row.boattype = boattype
|
|
||||||
row.privacy = privacy
|
|
||||||
row.save()
|
|
||||||
# change data in csv file
|
# change data in csv file
|
||||||
|
|
||||||
r = rdata(row.csvfilename)
|
r = rdata(row.csvfilename)
|
||||||
if r == 0:
|
if r == 0:
|
||||||
return HttpResponse("Error: CSV Data File Not Found")
|
return HttpResponse("Error: CSV Data File Not Found")
|
||||||
r.rowdatetime = startdatetime
|
r.rowdatetime = startdatetime
|
||||||
r.write_csv(row.csvfilename,gzip=True)
|
r.write_csv(row.csvfilename,gzip=True)
|
||||||
dataprep.update_strokedata(id,r.df)
|
dataprep.update_strokedata(id,r.df)
|
||||||
successmessage = "Changes saved"
|
successmessage = "Changes saved"
|
||||||
url = "/rowers/workout/"+str(row.id)+"/edit"
|
url = "/rowers/workout/"+str(row.id)+"/edit"
|
||||||
url = reverse(workout_edit_view,
|
url = reverse(workout_edit_view,
|
||||||
kwargs = {
|
kwargs = {
|
||||||
'id':str(row.id),
|
'id':str(row.id),
|
||||||
'successmessage':str(successmessage),
|
'successmessage':str(successmessage),
|
||||||
})
|
})
|
||||||
response = HttpResponseRedirect(url)
|
response = HttpResponseRedirect(url)
|
||||||
else:
|
else:
|
||||||
message = "You are not allowed to change this workout"
|
message = "You are not allowed to change this workout"
|
||||||
url = reverse(workouts_view,args=[str(message)])
|
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)
|
||||||
|
|
||||||
response = HttpResponseRedirect(url)
|
else: # form not POSTed
|
||||||
else:
|
form = WorkoutForm(instance=row)
|
||||||
message = "Invalid Form"
|
|
||||||
url = reverse(workouts_view,args=[str(message)])
|
|
||||||
|
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
|
hascoordinates = 0
|
||||||
|
|
||||||
|
|
||||||
else:
|
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,
|
|
||||||
hascoordinates = 0
|
hascoordinates = 0
|
||||||
|
|
||||||
|
|
||||||
except Workout.DoesNotExist:
|
if hascoordinates:
|
||||||
message = "workout doesn't exist"
|
res = googlemap_chart(rowdata.df[' latitude'],
|
||||||
url = reverse(workouts_view,
|
rowdata.df[' longitude'],
|
||||||
kwargs = {
|
row.name)
|
||||||
'message': str(message)
|
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)
|
return HttpResponseRedirect(url)
|
||||||
|
|
||||||
# Create the chart image with wind corrected pace (OTW)
|
# Create the chart image with wind corrected pace (OTW)
|
||||||
|
|||||||
@@ -60,8 +60,6 @@ def get_metar_data(airportcode,unixtime):
|
|||||||
return [0,0,message,'',timestamp]
|
return [0,0,message,'',timestamp]
|
||||||
|
|
||||||
|
|
||||||
print temp_c,wind_dir,wind_speed
|
|
||||||
|
|
||||||
windbearing = float(wind_dir)
|
windbearing = float(wind_dir)
|
||||||
wind_knots = float(wind_speed)
|
wind_knots = float(wind_speed)
|
||||||
wind_ms = 0.514444*wind_knots
|
wind_ms = 0.514444*wind_knots
|
||||||
|
|||||||
Reference in New Issue
Block a user