Showing Power band values in Rower edit
This commit is contained in:
@@ -74,6 +74,12 @@ class Rower(models.Model):
|
|||||||
|
|
||||||
ftp = models.IntegerField(default=226,verbose_name="Functional Threshold Power")
|
ftp = models.IntegerField(default=226,verbose_name="Functional Threshold Power")
|
||||||
|
|
||||||
|
pw_ut2 = models.IntegerField(default=160,verbose_name="UT2 Power")
|
||||||
|
pw_ut1 = models.IntegerField(default=160,verbose_name="UT1 Power")
|
||||||
|
pw_at = models.IntegerField(default=160,verbose_name="AT Power")
|
||||||
|
pw_tr = models.IntegerField(default=160,verbose_name="TR Power")
|
||||||
|
pw_an = models.IntegerField(default=160,verbose_name="AN Power")
|
||||||
|
|
||||||
c2token = models.CharField(default='',max_length=200,blank=True,null=True)
|
c2token = models.CharField(default='',max_length=200,blank=True,null=True)
|
||||||
tokenexpirydate = models.DateTimeField(blank=True,null=True)
|
tokenexpirydate = models.DateTimeField(blank=True,null=True)
|
||||||
c2refreshtoken = models.CharField(default='',max_length=200,blank=True,null=True)
|
c2refreshtoken = models.CharField(default='',max_length=200,blank=True,null=True)
|
||||||
|
|||||||
@@ -23,7 +23,30 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid_6 omega">
|
<div class="grid_6 omega">
|
||||||
<p>
|
<p>
|
||||||
<h2>Functional Threshold Power</h2>
|
<h2>Power Bands</h2>
|
||||||
|
<table width="70%" class="listtable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Band</th>
|
||||||
|
<th>Value</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>UT2 Power</td><td>{{ rower.pw_ut2 }} Watt</td>
|
||||||
|
</tr><tr>
|
||||||
|
<td>UT1 Power</td><td>{{ rower.pw_ut1 }} Watt</td>
|
||||||
|
</tr><tr>
|
||||||
|
<td>AT Power</td><td>{{ rower.pw_at }} Watt</td>
|
||||||
|
</tr><tr>
|
||||||
|
<td>TR Power</td><td>{{ rower.pw_tr }} Watt</td>
|
||||||
|
</tr><tr>
|
||||||
|
<td>AN Power</td><td>{{ rower.pw_an }} Watt</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<h2>Functional Threshold Power</h2>
|
||||||
<form enctype="multipart/form-data" action="" method="post">
|
<form enctype="multipart/form-data" action="" method="post">
|
||||||
<table>
|
<table>
|
||||||
{{ powerform.as_table }}
|
{{ powerform.as_table }}
|
||||||
@@ -63,9 +86,12 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="grid_6 prefix_6 alpha">
|
<div class="grid_6 prefix_6 alpha">
|
||||||
|
<p>
|
||||||
|
<h2>Favorite Charts</h2>
|
||||||
<div class="grid_2 suffix_4 alpha">
|
<div class="grid_2 suffix_4 alpha">
|
||||||
<a class="button gray small" href="/rowers/me/favoritecharts">Manage Favorite Charts</a>
|
<a class="button gray small" href="/rowers/me/favoritecharts">Manage Favorite Charts</a>
|
||||||
</div>
|
</div>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4497,7 +4497,9 @@ def rower_edit_view(request,message=""):
|
|||||||
else:
|
else:
|
||||||
message = HttpResponse("invalid form")
|
message = HttpResponse("invalid form")
|
||||||
return render(request, 'rower_form.html',
|
return render(request, 'rower_form.html',
|
||||||
{'form':form,})
|
{'form':form,
|
||||||
|
'rower':r,
|
||||||
|
})
|
||||||
# url = reverse(rower_edit_view,args=[str(message)])
|
# url = reverse(rower_edit_view,args=[str(message)])
|
||||||
# response = HttpResponseRedirect(url)
|
# response = HttpResponseRedirect(url)
|
||||||
|
|
||||||
@@ -4511,9 +4513,16 @@ def rower_edit_view(request,message=""):
|
|||||||
try:
|
try:
|
||||||
r = Rower.objects.get(user=request.user)
|
r = Rower.objects.get(user=request.user)
|
||||||
r.ftp = max(min(ftp,650),50)
|
r.ftp = max(min(ftp,650),50)
|
||||||
|
powerperc = [55,75,90,105,120]
|
||||||
|
ut2,ut1,at,tr,an = (r.ftp*np.array(powerperc)/100.).astype(int)
|
||||||
|
r.pw_ut2 = ut2
|
||||||
|
r.pw_ut1 = ut1
|
||||||
|
r.pw_at = at
|
||||||
|
r.pw_tr = tr
|
||||||
|
r.pw_an = an
|
||||||
r.save()
|
r.save()
|
||||||
message = "Functional Threshold Value Changed"
|
message = "Functional Threshold Value Changed"
|
||||||
url = reverse(workouts_view,args=[str(message)])
|
url = reverse(rower_edit_view,args=[str(message)])
|
||||||
response = HttpResponseRedirect(url)
|
response = HttpResponseRedirect(url)
|
||||||
except Rower.DoesNotExist:
|
except Rower.DoesNotExist:
|
||||||
message = "Funny. This user doesn't exist."
|
message = "Funny. This user doesn't exist."
|
||||||
@@ -4524,6 +4533,7 @@ def rower_edit_view(request,message=""):
|
|||||||
return render(request, 'rower_form.html',
|
return render(request, 'rower_form.html',
|
||||||
{'form':form,
|
{'form':form,
|
||||||
'powerform':powerform,
|
'powerform':powerform,
|
||||||
|
'rower':r,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@@ -4531,6 +4541,18 @@ def rower_edit_view(request,message=""):
|
|||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
r = Rower.objects.get(user=request.user)
|
r = Rower.objects.get(user=request.user)
|
||||||
|
|
||||||
|
# Temporary code
|
||||||
|
powerperc = [55,75,90,105,120]
|
||||||
|
ut2,ut1,at,tr,an = (r.ftp*np.array(powerperc)/100.).astype(int)
|
||||||
|
r.pw_ut2 = ut2
|
||||||
|
r.pw_ut1 = ut1
|
||||||
|
r.pw_at = at
|
||||||
|
r.pw_tr = tr
|
||||||
|
r.pw_an = an
|
||||||
|
r.save()
|
||||||
|
# end temporary
|
||||||
|
|
||||||
form = RowerForm(instance=r)
|
form = RowerForm(instance=r)
|
||||||
powerform = RowerPowerForm(instance=r)
|
powerform = RowerPowerForm(instance=r)
|
||||||
grants = AccessToken.objects.filter(user=request.user)
|
grants = AccessToken.objects.filter(user=request.user)
|
||||||
@@ -4539,6 +4561,7 @@ def rower_edit_view(request,message=""):
|
|||||||
'form':form,
|
'form':form,
|
||||||
'powerform':powerform,
|
'powerform':powerform,
|
||||||
'grants':grants,
|
'grants':grants,
|
||||||
|
'rower':r,
|
||||||
})
|
})
|
||||||
except Rower.DoesNotExist:
|
except Rower.DoesNotExist:
|
||||||
return HttpResponse("This user doesn't exist")
|
return HttpResponse("This user doesn't exist")
|
||||||
|
|||||||
Reference in New Issue
Block a user