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'), views.workout_rp3import_view, name='workout_rp3import_view'),
re_path(r'^workout/stravaimport/$', views.workout_stravaimport_view, re_path(r'^workout/stravaimport/$', views.workout_stravaimport_view,
name='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'), name='workout_rojaboimport_view'),
re_path(r'^workout/stravaimport/user/(?P<userid>\d+)/$', re_path(r'^workout/stravaimport/user/(?P<userid>\d+)/$',
views.workout_stravaimport_view, name='workout_stravaimport_view'), 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 # The page where you select which Strava workout to import
@login_required() @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_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): def workout_rojaboimport_view(request, message="", userid=0):
r = getrequestrower(request, userid=userid) r = getrequestrower(request, userid=userid)
if r.user != request.user: if r.user != request.user:
messages.error( messages.error(
request, 'You can only access your own workouts on the NK Logbook, not those of your athletes') request, 'You can only access your own workouts on Rojabo, not those of your athletes')
url = reverse('workout_stravaimport_view', url = reverse('workout_rojaboimport_view',
kwargs={'userid': request.user.id}) kwargs={'userid': request.user.id})
return HttpResponseRedirect(url) 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) 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 # The page where you select which Strava workout to import
@login_required() @login_required()