Private
Public Access
1
0

some time zone stuff

This commit is contained in:
Sander Roosendaal
2017-02-21 15:21:32 +01:00
parent bfbdbb8a1e
commit ebb5aab316
4 changed files with 106 additions and 130 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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