Private
Public Access
1
0

adding Pro reqiurement

This commit is contained in:
Sander Roosendaal
2022-04-28 08:24:14 +02:00
parent a2f0fa8d78
commit 9f4f9cf8d0
3 changed files with 100 additions and 5 deletions

View 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 %}

View File

@@ -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'),

View File

@@ -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()