Merge branch 'release/v9.92'
This commit is contained in:
+9
-13
@@ -8,13 +8,13 @@ atomicwrites==1.3.0
|
||||
attrs==19.1.0
|
||||
backcall==0.1.0
|
||||
beautifulsoup4==4.7.1
|
||||
billiard==3.6.0.0
|
||||
billiard==3.5.0.5
|
||||
bleach==3.1.0
|
||||
bokeh==1.0.4
|
||||
boto==2.49.0
|
||||
braintree==3.51.0
|
||||
cairocffi==1.0.2
|
||||
celery==4.3.0
|
||||
celery==4.2.2
|
||||
certifi==2019.3.9
|
||||
cffi==1.12.2
|
||||
chardet==3.0.4
|
||||
@@ -46,10 +46,9 @@ django-leaflet==0.24.0
|
||||
django-mailbox==4.7.1
|
||||
django-oauth-toolkit==1.2.0
|
||||
django-oauth2-provider==0.2.6.1
|
||||
django-redis==4.10.0
|
||||
django-rest-framework==0.1.0
|
||||
django-rest-swagger==2.2.0
|
||||
django-rq==1.3.1
|
||||
django-rq==2.0
|
||||
django-rq-dashboard==0.3.3
|
||||
django-ses==0.8.10
|
||||
django-shell-plus==1.1.7
|
||||
@@ -67,9 +66,7 @@ Faker==1.0.4
|
||||
fitparse==1.1.0
|
||||
Flask==1.0.2
|
||||
future==0.17.1
|
||||
GDAL==2.3.3
|
||||
geocoder==1.38.1
|
||||
geos==0.2.1
|
||||
holoviews==1.11.3
|
||||
html5lib==1.0.1
|
||||
htmlmin==0.1.12
|
||||
@@ -99,7 +96,7 @@ jupyterlab==0.35.4
|
||||
jupyterlab-server==0.3.0
|
||||
keyring==18.0.0
|
||||
kiwisolver==1.0.1
|
||||
kombu==4.5.0
|
||||
kombu==4.3.0
|
||||
lxml==4.3.2
|
||||
Markdown==3.0.1
|
||||
MarkupSafe==1.1.1
|
||||
@@ -132,9 +129,9 @@ pip-upgrader==1.4.6
|
||||
pluggy==0.9.0
|
||||
prometheus-client==0.6.0
|
||||
prompt-toolkit==2.0.9
|
||||
psycopg2==2.8.1
|
||||
ptyprocess==0.6.0
|
||||
py==1.8.0
|
||||
pycairo==1.18.0
|
||||
pycparser==2.19
|
||||
Pygments==2.3.1
|
||||
pyparsing==2.3.1
|
||||
@@ -160,9 +157,10 @@ ratelim==0.1.6
|
||||
redis==3.2.1
|
||||
requests==2.21.0
|
||||
requests-oauthlib==1.2.0
|
||||
rowingdata==2.3.8
|
||||
rowingdata==2.3.9
|
||||
rowingphysics==0.5.0
|
||||
rq==0.13.0
|
||||
rq==1.0
|
||||
rq-dashboard==0.4.0
|
||||
scipy==1.2.1
|
||||
SecretStorage==3.1.1
|
||||
Send2Trash==1.5.0
|
||||
@@ -190,10 +188,8 @@ VerbalExpressions==0.0.2
|
||||
vine==1.3.0
|
||||
wcwidth==0.1.7
|
||||
webencodings==0.5.1
|
||||
Werkzeug==0.15.1
|
||||
Werkzeug==0.15.2
|
||||
widgetsnbextension==3.4.2
|
||||
winkerberos==0.7.0
|
||||
xlrd==1.2.0
|
||||
xmltodict==0.12.0
|
||||
yamjam==0.1.7
|
||||
yamllint==1.15.0
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
<li class="rounder">
|
||||
<h2>Compare Workouts</h2>
|
||||
{% if team %}
|
||||
<a href="/rowers/team-compare-select/team/{{ team.id }}/">
|
||||
<a href="/rowers/user-analysis-select/compare/team/{{ team.id }}/">
|
||||
{% else %}
|
||||
<a href="/rowers/team-compare-select/team/0/">
|
||||
<a href="/rowers/user-analysis-select/compare/team/0/">
|
||||
{% endif %}
|
||||
<div class="vignet">
|
||||
<img src="/static/img/workoutcompare.png"
|
||||
@@ -29,7 +29,7 @@
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Stroke Analysis</h2>
|
||||
<a href="/rowers/flexall/">
|
||||
<a href="/rowers/user-analysis-select/flexall/">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/strokeanalysis.png"
|
||||
alt="Stroke Analysis">
|
||||
@@ -41,7 +41,7 @@
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Histogram</h2>
|
||||
<a href="/rowers/histo/">
|
||||
<a href="/rowers/user-analysis-select/histo/">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/histogram.png" alt="Power Histogram">
|
||||
</div>
|
||||
@@ -52,7 +52,7 @@
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Statistics</h2>
|
||||
<a href="/rowers/cumstats/">
|
||||
<a href="/rowers/user-analysis-select/stats/">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/statistics.PNG" alt="Statistics">
|
||||
</div>
|
||||
@@ -63,7 +63,7 @@
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Box Chart</h2>
|
||||
<a href="/rowers/user-boxplot-select/">
|
||||
<a href="/rowers/user-analysis-select/boxplot/">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/boxplot.png" alt="Box Chart">
|
||||
</div>
|
||||
@@ -75,7 +75,7 @@
|
||||
</li>
|
||||
<li class="rounder">
|
||||
<h2>Trend Flex</h2>
|
||||
<a href="/rowers/user-multiflex-select/">
|
||||
<a href="/rowers/user-analysis-select/trendflex/">
|
||||
<div class="vignet">
|
||||
<img src="/static/img/trendflex.png" alt="Trend Flex">
|
||||
</div>
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
}
|
||||
|
||||
.caption span.border {
|
||||
background-color: #111;
|
||||
background-color: #1c75bc;
|
||||
color: #fff;
|
||||
padding: 18px;
|
||||
font-size: 25px;
|
||||
@@ -128,7 +128,7 @@
|
||||
letter-spacing: 5px;
|
||||
text-transform: uppercase;
|
||||
font: 20px "Lato", sans-serif;
|
||||
color: #111;
|
||||
color: #1c75bc;
|
||||
}
|
||||
|
||||
/* Turn off parallax scrolling for tablets and phones */
|
||||
@@ -202,27 +202,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="position:relative;">
|
||||
<div style="color:#ddd;background-color:#282E34;text-align:center;padding:50px 80px;text-align: justify;">
|
||||
<h2>Testimonials</h2>
|
||||
<p>"Check out @rowsandall as well - his site is really useful for dissecting rowing data, especially if you eventually get power/angles on the water - check out the articles in the blog - if you’re logging your ergs on C2logbook you can have a play dissecting the data" - Tom Carter</p>
|
||||
<p>"Sander has made amazing tools for self-coaching or working with a coach."</p>
|
||||
|
||||
<p>“I just wanted to say that I absolutely love this website. I‘ve been
|
||||
using my NK empower oarlock for about a month now, and I‘m really
|
||||
excited to be able to better visualize my data.”</p>
|
||||
<p> “I discovered rowsandall.com – which is brilliant.”</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bgimg-3">
|
||||
<div class="caption">
|
||||
<span class="border">
|
||||
Plan, execute, measure, adjust
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="position:relative;">
|
||||
<div style="color:#ddd;background-color:#282E34;text-align:center;padding:50px 80px;text-align: justify;">
|
||||
<h1>What we offer</h1>
|
||||
@@ -252,6 +231,27 @@ using my NK empower oarlock for about a month now, and I‘m really
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bgimg-3">
|
||||
<div class="caption">
|
||||
<span class="border">
|
||||
Plan, execute, measure, adjust
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="position:relative;">
|
||||
<div style="color:#ddd;background-color:#282E34;text-align:center;padding:50px 80px;text-align: justify;">
|
||||
<h2>Testimonials</h2>
|
||||
<p>"Check out @rowsandall as well - his site is really useful for dissecting rowing data, especially if you eventually get power/angles on the water - check out the articles in the blog - if you’re logging your ergs on C2logbook you can have a play dissecting the data" - Tom Carter</p>
|
||||
<p>"Sander has made amazing tools for self-coaching or working with a coach."</p>
|
||||
|
||||
<p>“I just wanted to say that I absolutely love this website. I‘ve been
|
||||
using my NK empower oarlock for about a month now, and I‘m really
|
||||
excited to be able to better visualize my data.”</p>
|
||||
<p> “I discovered rowsandall.com – which is brilliant.”</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bgimg-1">
|
||||
<div class="caption">
|
||||
<span class="border">Follow us on
|
||||
@@ -274,50 +274,22 @@ using my NK empower oarlock for about a month now, and I‘m really
|
||||
<footer class="main-footer">
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/rowers/help/">Help</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://analytics.rowsandall.com/">
|
||||
Rowing Analytics Blog
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.facebook.com/rowsandall">
|
||||
Rowing Data Facebook Group</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="https://analytics.rowsandall.com/">
|
||||
Rowing Analytics Blog
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/rowers/email/">Contact</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/rowers/partners/">Partnering?</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/rowers/developers/">Developers Info</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="https://www.facebook.com/rowsandall">
|
||||
Rowing Data Facebook Group</a>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/rowers/paidplans/">Paid Plans</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="/rowers/email/">Contact</a>
|
||||
</li>
|
||||
<li>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="/rowers/legal/">Terms and Conditions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/rowers/legal/">Privacy Policy</a>
|
||||
</li>
|
||||
</ul>
|
||||
<a href="/rowers/paidplans/">Paid Plans</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/rowers/legal/">Legal</a>
|
||||
</li>
|
||||
</ul>
|
||||
</footer>
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
<ul>
|
||||
<li id="compare">
|
||||
{% if team %}
|
||||
<a href="/rowers/team-compare-select/team/{{ team.id }}/">
|
||||
<a href="/rowers/user-analysis-select/compare/team/{{ team.id }}/">
|
||||
<i class="fas fa-balance-scale fa-fw"></i> Compare
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="/rowers/team-compare-select/team/0/">
|
||||
<a href="/rowers/user-analysis-select/compare/team/0/">
|
||||
<i class="fas fa-balance-scale fa-fw"></i> Compare
|
||||
</a>
|
||||
{% endif %}
|
||||
@@ -48,29 +48,29 @@
|
||||
</label>
|
||||
<ul>
|
||||
<li id="stats-boxchart">
|
||||
<a href="/rowers/user-boxplot-select/">
|
||||
<a href="/rowers/user-analysis-select/boxplot/">
|
||||
<i class="fas fa-box-open fa-fw"></i> Box Chart
|
||||
</a>
|
||||
</li>
|
||||
<li id="stats-trendflex">
|
||||
<a href="/rowers/user-multiflex-select/">
|
||||
<a href="/rowers/user-analysis-select/trendflex/">
|
||||
<i class="far fa-chart-line fa-fw"></i> Trend Flex
|
||||
</a>
|
||||
</li>
|
||||
<li id="stats-cumstats">
|
||||
<a href="/rowers/cumstats/">
|
||||
<a href="/rowers/user-analysis-select/stats/">
|
||||
<i class="fal fa-table fa-fw"></i> Statistics
|
||||
</a>
|
||||
</li>
|
||||
<li id="stats-histo">
|
||||
<a href="/rowers/histo/">
|
||||
<a href="/rowers/user-analysis-select/histo/">
|
||||
<i class="fas fa-chart-bar"></i> Histogram
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/rowers/flexall/">
|
||||
<a href="/rowers/user-analysis-select/flexall/">
|
||||
<i class="fas fa-chart-line fa-fw"></i> Cumulative Flex Chart
|
||||
</a>
|
||||
</li>
|
||||
@@ -106,4 +106,29 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if user|user_teams %}
|
||||
<p> </p>
|
||||
<ul class="cd-accordion-menu animated">
|
||||
<li class="has-children" id="teams">
|
||||
<input type="checkbox" name="team-selector" id="team-selector">
|
||||
<label for="team-selector"><i class="fas fa-bullhorn fa-fw"></i> Groups</label>
|
||||
<ul>
|
||||
{% for tteam in teams %}
|
||||
<li>
|
||||
<a href={{ request.path|teamurl:tteam }}>
|
||||
<i class="fas fa-users fa-fw"></i>
|
||||
{% if tteam == team %}
|
||||
•
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
{{ tteam.name }}
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% include 'menuscript.html' %}
|
||||
|
||||
@@ -66,9 +66,21 @@
|
||||
|
||||
|
||||
|
||||
<h1>{{ team.name }} Join Workouts</h1>
|
||||
<h1>{{ team.name }} Glue Workouts</h1>
|
||||
|
||||
<ul class="main-content">
|
||||
<li class="grid_4 maxheight">
|
||||
{% if team %}
|
||||
<form id="searchform" action="/rowers/workouts-join-select/team/{{ team.id }}/"
|
||||
method="get" accept-charset="utf-8">
|
||||
{% else %}
|
||||
<form id="searchform" action="/rowers/workouts-join-select/"
|
||||
method="get" accept-charset="utf-8">
|
||||
{% endif %}
|
||||
{{ searchform }}
|
||||
<input type="submit" value="GO"></input>
|
||||
</form>
|
||||
</li>
|
||||
<li class="grid_2 maxheight">
|
||||
<form enctype="multipart/form-data" action="/rowers/workouts-join/" method="post">
|
||||
{% if workouts %}
|
||||
@@ -96,45 +108,17 @@
|
||||
</form>
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
{% if team %}
|
||||
<form enctype="multipart/form-data" action="/rowers/workouts-join-select/team/{{ team.id }}/" method="post">
|
||||
{% else %}
|
||||
<form enctype="multipart/form-data" action="/rowers/workouts-join-select/" method="post">
|
||||
{% endif %}
|
||||
<table>
|
||||
{{ dateform.as_table }}
|
||||
</table>
|
||||
<p>
|
||||
{% csrf_token %}
|
||||
<input name='daterange' type="submit" value="Submit">
|
||||
</p>
|
||||
</form>
|
||||
</li>
|
||||
<li>
|
||||
{% if team %}
|
||||
<form enctype="multipart/form-data" action="/rowers/workouts-join-select/team/{{ team.id }}/" method="post">
|
||||
{% else %}
|
||||
<form enctype="multipart/form-data" action="/rowers/workouts-join-select/" method="post">
|
||||
{% endif %}
|
||||
<table>
|
||||
{{ modalityform.as_table }}
|
||||
</table>
|
||||
<p>
|
||||
{% csrf_token %}
|
||||
<input name='modalityform' type="submit" value="Submit">
|
||||
</p>
|
||||
</form>
|
||||
</li>
|
||||
<li class="grid_2">
|
||||
{% if team %}
|
||||
<form id="searchform" action="/rowers/workouts-join-select/team/{{ team.id }}/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}/"
|
||||
method="get" accept-charset="utf-8">
|
||||
{% else %}
|
||||
<form id="searchform" action="/rowers/workouts-join-select/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}/"
|
||||
method="get" accept-charset="utf-8">
|
||||
{% endif %}
|
||||
{{ searchform }}
|
||||
<input type="submit" value="GO"></input>
|
||||
<form enctype="multipart/form-data" action="" method="post">
|
||||
<table>
|
||||
{{ dateform.as_table }}
|
||||
</table>
|
||||
<table>
|
||||
{{ modalityform.as_table }}
|
||||
</table>
|
||||
<p>
|
||||
{% csrf_token %}
|
||||
<input name='modalityform' type="submit" value="Filter Workouts">
|
||||
</p>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
BIN
Binary file not shown.
+3
-1
@@ -224,8 +224,10 @@ urlpatterns = [
|
||||
re_path(r'^user-boxplot-select/user/(?P<userid>\d+)/$',views.user_boxplot_select,name='user_boxplot_select'),
|
||||
re_path(r'^user-boxplot-select/$',views.user_boxplot_select,name='user_boxplot_select'),
|
||||
re_path(r'^user-analysis-select/(?P<function>\w.*)/user/(?P<userid>\d+)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/(?P<function>\w.*)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/(?P<function>\w.*)/team/(?P<teamid>\d+)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/user/(?P<userid>\d+)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/team/(?P<teamid>\d+)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/(?P<function>\w.*)/$',views.analysis_new,name='analysis_new'),
|
||||
re_path(r'^user-analysis-select/$',views.analysis_new,name='analysis_new'),
|
||||
# re_path(r'^user-multiflex-select/user/(?P<userid>\d+)/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
|
||||
re_path(r'^user-multiflex-select/user/(?P<userid>\d+)/$',views.user_multiflex_select,name='user_multiflex_select'),
|
||||
|
||||
@@ -16,7 +16,7 @@ env.filters['floatformat'] = floatformat
|
||||
|
||||
|
||||
from django.contrib.staticfiles import finders
|
||||
|
||||
from rowers.forms import analysischoices
|
||||
|
||||
# generic Analysis view -
|
||||
|
||||
@@ -32,11 +32,16 @@ defaultoptions = {
|
||||
@user_passes_test(ispromember, login_url="/rowers/paidplans",
|
||||
message="This functionality requires a Pro plan or higher",
|
||||
redirect_field_name=None)
|
||||
def analysis_new(request,userid=0,function='boxplot'):
|
||||
def analysis_new(request,userid=0,function='boxplot',teamid=0):
|
||||
r = getrequestrower(request, userid=userid)
|
||||
user = r.user
|
||||
userid = user.id
|
||||
|
||||
try:
|
||||
theteam = Team.objects.get(id=teamid)
|
||||
except Team.DoesNotExist:
|
||||
theteam = None
|
||||
|
||||
|
||||
if 'options' in request.session:
|
||||
options = request.session['options']
|
||||
@@ -64,7 +69,8 @@ def analysis_new(request,userid=0,function='boxplot'):
|
||||
else:
|
||||
startdate=timezone.now()-datetime.timedelta(days=42)
|
||||
|
||||
|
||||
if function not in [c[0] for c in analysischoices]:
|
||||
function = 'boxplot'
|
||||
|
||||
if 'enddate' in request.session:
|
||||
enddate = iso8601.parse_date(request.session['enddate'])
|
||||
@@ -162,14 +168,29 @@ def analysis_new(request,userid=0,function='boxplot'):
|
||||
if b[0] not in waterboattype:
|
||||
negtypes.append(b[0])
|
||||
|
||||
if theteam is not None and (theteam.viewing == 'allmembers' or theteam.manager == request.user):
|
||||
workouts = Workout.objects.filter(team=theteam,
|
||||
startdatetime__gte=startdate,
|
||||
startdatetime__lte=enddate,
|
||||
workouttype__in=modalities,
|
||||
)
|
||||
elif theteam is not None and theteam.viewing == 'coachonly':
|
||||
workouts = Workout.objects.filter(team=theteam,user=r,
|
||||
startdatetime__gte=startdate,
|
||||
startdatetime__lte=enddate,
|
||||
workouttype__in=modalities,
|
||||
)
|
||||
else:
|
||||
workouts = Workout.objects.filter(user=r,
|
||||
startdatetime__gte=startdate,
|
||||
startdatetime__lte=enddate,
|
||||
workouttype__in=modalities,
|
||||
)
|
||||
|
||||
workouts = Workout.objects.filter(user=r,
|
||||
startdatetime__gte=startdate,
|
||||
startdatetime__lte=enddate,
|
||||
workouttype__in=modalities,
|
||||
).order_by(
|
||||
workouts = workouts.order_by(
|
||||
"-date", "-starttime"
|
||||
).exclude(boattype__in=negtypes)
|
||||
|
||||
if rankingonly:
|
||||
workouts = workouts.exclude(rankingpiece=False)
|
||||
|
||||
@@ -188,14 +209,13 @@ def analysis_new(request,userid=0,function='boxplot'):
|
||||
|
||||
if request.method != 'POST':
|
||||
form = WorkoutMultipleCompareForm()
|
||||
chartform = AnalysisChoiceForm()
|
||||
chartform = AnalysisChoiceForm(initial={'function':function})
|
||||
selectedworkouts = Workout.objects.none()
|
||||
else:
|
||||
selectedworkouts = Workout.objects.filter(id__in=ids)
|
||||
|
||||
form.fields["workouts"].queryset = workouts | selectedworkouts
|
||||
|
||||
|
||||
optionsform = AnalysisOptionsForm(initial={
|
||||
'modality':modality,
|
||||
'waterboattype':waterboattype,
|
||||
|
||||
@@ -479,8 +479,9 @@ def workouts_join_select(request,
|
||||
modalities = [m[0] for m in mytypes.workouttypes]
|
||||
modality = 'all'
|
||||
|
||||
if request.method == 'POST' and 'daterange' in request.POST:
|
||||
if request.method == 'POST':
|
||||
dateform = DateRangeForm(request.POST)
|
||||
modalityform = TrendFlexModalForm(request.POST)
|
||||
if dateform.is_valid():
|
||||
startdate = dateform.cleaned_data['startdate']
|
||||
enddate = dateform.cleaned_data['enddate']
|
||||
@@ -488,15 +489,6 @@ def workouts_join_select(request,
|
||||
enddatestring = enddate.strftime('%Y-%m-%d')
|
||||
request.session['startdate'] = startdatestring
|
||||
request.session['enddate'] = enddatestring
|
||||
else:
|
||||
dateform = DateRangeForm(initial={
|
||||
'startdate':startdate,
|
||||
'enddate':enddate,
|
||||
})
|
||||
|
||||
|
||||
if request.method == 'POST' and 'modality' in request.POST:
|
||||
modalityform = TrendFlexModalForm(request.POST)
|
||||
if modalityform.is_valid():
|
||||
modality = modalityform.cleaned_data['modality']
|
||||
waterboattype = modalityform.cleaned_data['waterboattype']
|
||||
@@ -511,6 +503,13 @@ def workouts_join_select(request,
|
||||
|
||||
request.session['modalities'] = modalities
|
||||
request.session['waterboattype'] = waterboattype
|
||||
else:
|
||||
dateform = DateRangeForm(initial={
|
||||
'startdate':startdate,
|
||||
'enddate':enddate,
|
||||
})
|
||||
|
||||
|
||||
|
||||
negtypes = []
|
||||
for b in mytypes.boattypes:
|
||||
|
||||
Reference in New Issue
Block a user