From 9f4f9cf8d08f8bfb91daec8cd48109b623ea0039 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 28 Apr 2022 08:24:14 +0200 Subject: [PATCH] adding Pro reqiurement --- rowers/templates/rojabo_list_import.html | 55 ++++++++++++++++++++++++ rowers/urls.py | 2 +- rowers/views/importviews.py | 48 +++++++++++++++++++-- 3 files changed, 100 insertions(+), 5 deletions(-) create mode 100644 rowers/templates/rojabo_list_import.html diff --git a/rowers/templates/rojabo_list_import.html b/rowers/templates/rojabo_list_import.html new file mode 100644 index 00000000..b0a68882 --- /dev/null +++ b/rowers/templates/rojabo_list_import.html @@ -0,0 +1,55 @@ +{% extends "newbase.html" %} +{% load static %} +{% load rowerfilters %} + +{% block title %}sessions{% endblock %} + +{% block main %} +

Available on Rojabo

+{% if sessions %} +
    +
  • +
    + {% csrf_token %} + + Select All New + + + + + + + + + + + {% for session in sessions %} + + + + + + + + {% endfor %} + +
    Import Session SPM Planned Date
    + {% if session|lookuplong:'new' == 'NEW' and checknew == 'true' %} + + {% else %} + + {% endif %} + {{ session|lookuplong:'name' }}{{ session|lookuplong:'spm' }}{{ session|lookuplong:'date' }}
    +
    +
  • +
+{% else %} +

+ No sessions found +

+ {% endif %} + {% endblock %} + +{% block sidebar %} +{% include 'menu_plan.html' %} +{% endblock %} diff --git a/rowers/urls.py b/rowers/urls.py index bc000870..65836ba7 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -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\d+)/$', views.workout_stravaimport_view, name='workout_stravaimport_view'), diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index 3deeb613..0ca52ee3 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -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()