adding Pro reqiurement
This commit is contained in:
55
rowers/templates/rojabo_list_import.html
Normal file
55
rowers/templates/rojabo_list_import.html
Normal file
@@ -0,0 +1,55 @@
|
||||
{% extends "newbase.html" %}
|
||||
{% load static %}
|
||||
{% load rowerfilters %}
|
||||
|
||||
{% block title %}sessions{% endblock %}
|
||||
|
||||
{% block main %}
|
||||
<h1>Available on Rojabo</h1>
|
||||
{% if sessions %}
|
||||
<ul class="main-content">
|
||||
<li class="grid_4">
|
||||
<form enctype="multipart/form-data" method="post">
|
||||
{% csrf_token %}
|
||||
<input name='sessions' type="submit" value="Import selected sessions">
|
||||
<a href="/rowers/session/rojaboimport/?selectallnew=true">Select All New</a>
|
||||
<table width="70%" class="listtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> Import </th>
|
||||
<th> Session</th>
|
||||
<th> SPM</th>
|
||||
<th> Planned Date </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for session in sessions %}
|
||||
<tr>
|
||||
<td>
|
||||
{% if session|lookuplong:'new' == 'NEW' and checknew == 'true' %}
|
||||
<input checked type="checkbox" value={{ session|lookuplong:'id' }} name="sessionid">
|
||||
{% else %}
|
||||
<input type="checkbox" value={{ session|lookuplong:'id' }} name="sessionid">
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ session|lookuplong:'name' }}</td>
|
||||
<td>{{ session|lookuplong:'spm' }}</td>
|
||||
<td>{{ session|lookuplong:'date' }} </td>
|
||||
</tr>
|
||||
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>
|
||||
No sessions found
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebar %}
|
||||
{% include 'menu_plan.html' %}
|
||||
{% endblock %}
|
||||
@@ -598,7 +598,7 @@ urlpatterns = [
|
||||
views.workout_rp3import_view, name='workout_rp3import_view'),
|
||||
re_path(r'^workout/stravaimport/$', views.workout_stravaimport_view,
|
||||
name='workout_stravaimport_view'),
|
||||
re_path(r'^rojaboimport/$', views.workout_rojaboimport_view,
|
||||
re_path(r'^session/rojaboimport/$', views.workout_rojaboimport_view,
|
||||
name='workout_rojaboimport_view'),
|
||||
re_path(r'^workout/stravaimport/user/(?P<userid>\d+)/$',
|
||||
views.workout_stravaimport_view, name='workout_stravaimport_view'),
|
||||
|
||||
@@ -1031,14 +1031,16 @@ def workout_rp3import_view(request, userid=0):
|
||||
|
||||
# The page where you select which Strava workout to import
|
||||
@login_required()
|
||||
@user_passes_test(ispromember, login_url="/rowers/paidplans/",
|
||||
message="This functionality requires a Pro plan or higher",
|
||||
redirect_field_name=None)
|
||||
@permission_required('rower.is_coach', fn=get_user_by_userid, raise_exception=True)
|
||||
@permission_required('rower.is_not_freecoach', fn=get_user_by_userid, raise_exception=True)
|
||||
def workout_rojaboimport_view(request, message="", userid=0):
|
||||
r = getrequestrower(request, userid=userid)
|
||||
if r.user != request.user:
|
||||
messages.error(
|
||||
request, 'You can only access your own workouts on the NK Logbook, not those of your athletes')
|
||||
url = reverse('workout_stravaimport_view',
|
||||
request, 'You can only access your own workouts on Rojabo, not those of your athletes')
|
||||
url = reverse('workout_rojaboimport_view',
|
||||
kwargs={'userid': request.user.id})
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@@ -1068,7 +1070,45 @@ def workout_rojaboimport_view(request, message="", userid=0):
|
||||
ps.rojabo_id for ps in PlannedSession.objects.filter(manager=request.user)
|
||||
])
|
||||
|
||||
return HttpResponse(res.json())
|
||||
for item in res.json():
|
||||
print(item['training_session'])
|
||||
i = item['training_session']['id']
|
||||
if i in knownrojaboids:
|
||||
nnn = ''
|
||||
else:
|
||||
nnn = 'NEW'
|
||||
n = item['training_session']['workout']
|
||||
spm = item['training_session']['stroke']
|
||||
d = item['training_session']['training_date']
|
||||
sessions.append({
|
||||
'id':i,
|
||||
'name':n,
|
||||
'spm':spm,
|
||||
'new':nnn,
|
||||
'date': d,
|
||||
})
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url': '/rowers/list-workouts/',
|
||||
'name': 'Workouts'
|
||||
},
|
||||
{
|
||||
'url': reverse('workout_rojaboimport_view'),
|
||||
'name': 'Strava'
|
||||
},
|
||||
]
|
||||
|
||||
checknew = request.GET.get('selectallnew', False)
|
||||
|
||||
return render(request, 'rojabo_list_import.html',
|
||||
{'sessions': sessions,
|
||||
'rower': r,
|
||||
'active': 'nav-plans',
|
||||
'breadcrumbs': breadcrumbs,
|
||||
'teams': get_my_teams(request.user),
|
||||
'checknew': checknew,
|
||||
})
|
||||
|
||||
# The page where you select which Strava workout to import
|
||||
@login_required()
|
||||
|
||||
Reference in New Issue
Block a user