adding simple power form
This commit is contained in:
@@ -4220,7 +4220,20 @@ class RowerExportForm(ModelForm):
|
||||
]
|
||||
|
||||
# Simple form to set rower's Functional Threshold Power
|
||||
class SimpleRowerPowerForm(ModelForm):
|
||||
otwftp = forms.IntegerField(initial=0,required=False, label='FTP on water')
|
||||
class Meta:
|
||||
model = Rower
|
||||
fields = ['ftp']
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(SimpleRowerPowerForm, self).__init__(*args, **kwargs)
|
||||
self.initial['otwftp'] = int((1-0.01*self.instance.otwslack)*self.instance.ftp)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
otwslack = -100.*(self.cleaned_data['otwftp']-self.cleaned_data['ftp'])/(self.cleaned_data['ftp'])
|
||||
self.instance.otwslack = otwslack
|
||||
return super(SimpleRowerPowerForm, self).save(*args, **kwargs)
|
||||
|
||||
class RowerPowerForm(ModelForm):
|
||||
class Meta:
|
||||
|
||||
28
rowers/templates/rower_simplepreferences.html
Normal file
28
rowers/templates/rower_simplepreferences.html
Normal file
@@ -0,0 +1,28 @@
|
||||
{% extends "newbase.html" %}
|
||||
{% load static %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
{% block title %}Change Rower Preferences{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Functional Threshold Power for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
|
||||
|
||||
<ul class="main-content">
|
||||
<li class="grid_2">
|
||||
<form enctype="multipart/form-data" action="" method="post">
|
||||
<table>
|
||||
{{ form.as_table }}
|
||||
</table>
|
||||
{% csrf_token %}
|
||||
<input type="submit" value="Update">
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_profile.html' %}
|
||||
{% endblock %}
|
||||
@@ -782,10 +782,14 @@ urlpatterns = [
|
||||
views.rower_edit_view, name='rower_edit_view'),
|
||||
re_path(r'^me/preferences/$', views.rower_prefs_view,
|
||||
name='rower_prefs_view'),
|
||||
re_path(r'^me/prefs/$', views.rower_simpleprefs_view,
|
||||
name='rower_simpleprefs_view'),
|
||||
re_path(r'^me/transactions/$', views.transactions_view,
|
||||
name='transactions_view'),
|
||||
re_path(r'^me/preferences/user/(?P<userid>\d+)/$',
|
||||
views.rower_prefs_view, name='rower_prefs_view'),
|
||||
re_path(r'^me/prefs/user/(?P<userid>\d+)/$',
|
||||
views.rower_simpleprefs_view, name='rower_simpleprefs_view'),
|
||||
re_path(r'^me/edit/(.+.*)/$', views.rower_edit_view, name='rower_edit_view'),
|
||||
re_path(r'^me/c2authorize/$', views.rower_c2_authorize,
|
||||
name='rower_c2_authorize'),
|
||||
|
||||
@@ -159,7 +159,7 @@ from rowers.models import (
|
||||
VirtualRaceFollower, TombStone, InstantPlan,
|
||||
PlannedSessionStep,InStrokeAnalysis, ForceCurveAnalysis
|
||||
)
|
||||
from rowers.models import ( RowerPowerForm, RowerHRZonesForm,
|
||||
from rowers.models import ( RowerPowerForm, RowerHRZonesForm, SimpleRowerPowerForm,
|
||||
RowerForm, RowerCPForm, GraphImage, AdvancedWorkoutForm,
|
||||
RowerPowerZonesForm, AccountRowerForm, UserForm, Team, TeamForm,
|
||||
TeamInviteForm, TeamInvite, TeamRequest, WorkoutComment,
|
||||
|
||||
@@ -551,6 +551,40 @@ def rower_edit_view(request, rowerid=0, userid=0, message=""):
|
||||
'rower': r,
|
||||
})
|
||||
|
||||
#simple initial settings page
|
||||
@login_required()
|
||||
@permission_required('rower.is_coach', fn=get_user_by_userid, raise_exception=True)
|
||||
def rower_simpleprefs_view(request, userid=0):
|
||||
r = getrequestrowercoachee(request, userid=userid, notpermanent=True)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url': '/rowers/me/edit/',
|
||||
'name': 'Profile'
|
||||
},
|
||||
{
|
||||
'url': reverse('rower_simpleprefs_view'),
|
||||
'name': 'Zones'
|
||||
}
|
||||
]
|
||||
|
||||
form = SimpleRowerPowerForm(instance=r)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = SimpleRowerPowerForm(request.POST, instance=r)
|
||||
if form.is_valid():
|
||||
form.save(commit=True)
|
||||
messages.info(request,'FTP and OTW FTP saved')
|
||||
|
||||
return render(request, 'rower_simplepreferences.html',
|
||||
{
|
||||
'form': form,
|
||||
'teams': get_my_teams(request.user),
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'rower': r,
|
||||
})
|
||||
|
||||
|
||||
|
||||
# Page where user can set his details
|
||||
# Add email address to form so user can change his email address
|
||||
|
||||
Reference in New Issue
Block a user