Private
Public Access
1
0

free coach implementation

This commit is contained in:
Sander Roosendaal
2019-05-16 09:43:04 +02:00
parent 58197b6b62
commit fcc8725a97
6 changed files with 77 additions and 14 deletions

View File

@@ -8,13 +8,13 @@ atomicwrites==1.3.0
attrs==19.1.0
backcall==0.1.0
beautifulsoup4==4.7.1
billiard==3.5.0.5
billiard==3.6.0.0
bleach==3.1.0
bokeh==1.0.4
boto==2.49.0
braintree==3.51.0
cairocffi==1.0.2
celery==4.2.2
celery==4.3.0
certifi==2019.3.9
cffi==1.12.2
chardet==3.0.4
@@ -46,9 +46,10 @@ 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==2.0
django-rq==1.3.1
django-rq-dashboard==0.3.3
django-ses==0.8.10
django-shell-plus==1.1.7
@@ -66,7 +67,9 @@ 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
@@ -96,7 +99,7 @@ jupyterlab==0.35.4
jupyterlab-server==0.3.0
keyring==18.0.0
kiwisolver==1.0.1
kombu==4.3.0
kombu==4.5.0
lxml==4.3.2
Markdown==3.0.1
MarkupSafe==1.1.1
@@ -129,9 +132,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
@@ -157,10 +160,9 @@ ratelim==0.1.6
redis==3.2.1
requests==2.21.0
requests-oauthlib==1.2.0
rowingdata==2.3.5
rowingdata==2.3.8
rowingphysics==0.5.0
rq==1.0
rq-dashboard==0.4.0
rq==0.13.0
scipy==1.2.1
SecretStorage==3.1.1
Send2Trash==1.5.0
@@ -188,8 +190,10 @@ VerbalExpressions==0.0.2
vine==1.3.0
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.15.2
Werkzeug==0.15.1
widgetsnbextension==3.4.2
winkerberos==0.7.0
xlrd==1.2.0
xmltodict==0.12.0
yamjam==0.1.7
yamllint==1.15.0

View File

@@ -6,8 +6,36 @@
{% endblock %}
{% block main %}
<h1>New Coach Registration (free Coach Plan)</h1>
<ul class="main-content">
<li class="grid_4">
<h1>New Coach Registration (free Coach Plan)</h1>
</li>
<li class="rounder grid_2">
<a href="/rowers/coachregister">
<h1>Register as a coach (free)</h1>
<p>Click here and fill out the form to start with a free Coach plan. This allows you
to manage up to 10 athletes (who have to be on the Pro plan). You cannot upload your own
workouts.
</p>
<p>
From this free plan, you can upgrade to any of the paid plans, including coach plans for larger
athlete groups or rower plans for managing your own training plan and workouts.
</p>
</a>
</li>
<li class="rounder grid_2">
<a href="/rowers/register">
<h1>Register as an athlete (free)</h1>
<p>Click here and fill out the form to start with a free Athlete plan. This allows you
to store and analyze your own workouts.
</p>
<p>
From this free plan, you can upgrade to any of the paid plans, including
coach plans for managing larger athlete groups or rower plans for expanded
analytics.
</p>
</a>
</li>
<li class="grid_2">
<div id="registrationform">

View File

@@ -6,8 +6,36 @@
{% endblock %}
{% block main %}
<h1>New User Registration</h1>
<ul class="main-content">
<li class="grid_4">
<h1>New User Registration</h1>
</li>
<li class="rounder grid_2">
<a href="/rowers/coachregister">
<h1>Register as a coach (free)</h1>
<p>Click here and fill out the form to start with a free Coach plan. This allows you
to manage up to 10 athletes (who have to be on the Pro plan). You cannot upload your own
workouts.
</p>
<p>
From this free plan, you can upgrade to any of the paid plans, including coach plans for larger
athlete groups or rower plans for managing your own training plan and workouts.
</p>
</a>
</li>
<li class="rounder grid_2">
<a href="/rowers/register">
<h1>Register as an athlete (free)</h1>
<p>Click here and fill out the form to start with a free Athlete plan. This allows you
to store and analyze your own workouts.
</p>
<p>
From this free plan, you can upgrade to any of the paid plans, including
coach plans for managing larger athlete groups or rower plans for expanded
analytics.
</p>
</a>
</li>
<li class="grid_2">
<div id="registrationform">

View File

@@ -331,7 +331,7 @@ def is_promember(user):
@register.filter
def is_manager(user):
r = Rower.objects.get(user=user)
return r.rowerplan == 'coach'
return 'coach' in r.rowerplan
from rowers.views import hasplannedsessions
@register.filter

View File

@@ -1009,7 +1009,7 @@ def iscoachmember(user):
r = Rower(user=user)
r.save()
result = user.is_authenticated and (r.rowerplan=='coach')
result = user.is_authenticated and ('coach' in r.rowerplan)
else:
result = False
@@ -1025,7 +1025,7 @@ def cancreateteam(user):
r = Rower(user=user)
r.save()
if user.is_authenticated and (r.rowerplan=='coach'):
if user.is_authenticated and ('coach' in r.rowerplan):
return True
elif user.is_athenticated() and r.rowerplan in ['plan','pro']:
ts = Team.objects.filter(manager=user)

View File

@@ -3842,6 +3842,9 @@ def workout_upload_view(request,
is_ajax = True
r = getrower(request.user)
if r.rowerplan == 'freecoach':
url = reverse('team_workout_upload_view')
return HttpResponseRedirect(url)
breadcrumbs = [
{