diff --git a/rowers/templates/plannedsessions.html b/rowers/templates/plannedsessions.html index cb7b1615..6d35a62e 100644 --- a/rowers/templates/plannedsessions.html +++ b/rowers/templates/plannedsessions.html @@ -130,6 +130,9 @@ by your coach if you are part of a team. You can create your own planned workouts by purchasing the "Coach" or "Self-Coach" plans. {% endif %} +

+ Print View +

{% if unmatchedworkouts %}

Workouts that are not linked to any session

diff --git a/rowers/templates/plannedsessions_print.html b/rowers/templates/plannedsessions_print.html new file mode 100644 index 00000000..bfb14031 --- /dev/null +++ b/rowers/templates/plannedsessions_print.html @@ -0,0 +1,100 @@ +{% extends "base.html" %} +{% load staticfiles %} +{% load rowerfilters %} + +{% block title %}Planned Sessions{% endblock %} + +{% block content %} +
+ {% include "planningbuttons.html" %} +
+
+

Plan for {{ rower.user.first_name }} {{ rower.user.last_name }}

+

+ From {{ startdate }} to {{ enddate }} +

+
+ +{% if user.is_authenticated and user|is_manager %} + +{% endif %} +
+ Courses +
+{% for ps in plannedsessions %} +
+

Session {{ ps.name }}

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
On or after{{ ps.startdate }}
On or before{{ ps.enddate }}
Session Type{{ ps.sessiontype }}
Session Mode{{ ps.sessionmode }}
Criteria{{ ps.criterium }}
Value{{ ps.sessionvalue }}
Unit{{ ps.sessionunit }}
Comment{{ ps.comment|linebreaks }}
+ +{% endfor %} + + + + +{% endblock %} diff --git a/rowers/urls.py b/rowers/urls.py index 27d9f7cf..c1947531 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -482,6 +482,10 @@ urlpatterns = [ views.plannedsessions_coach_view), url(r'^sessions/coach/(?P[\w\ ]+.*)$', views.plannedsessions_coach_view), + url(r'^sessions/print/?$',views.plannedsessions_print_view), + url(r'^sessions/print/rower/(?P\d+)$',views.plannedsessions_print_view), + url(r'^sessions/print/(?P[\w\ ]+.*)/rower/(?P\d+)$',views.plannedsessions_print_view), + url(r'^sessions/print/(?P[\w\ ]+.*)$',views.plannedsessions_print_view), url(r'^sessions/?$',views.plannedsessions_view), url(r'^sessions/rower/(?P\d+)$',views.plannedsessions_view), url(r'^sessions/(?P[\w\ ]+.*)/rower/(?P\d+)$',views.plannedsessions_view), diff --git a/rowers/views.py b/rowers/views.py index 8bb6c453..8da3803d 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -12379,6 +12379,38 @@ def plannedsessions_view(request,timeperiod='thisweek',rowerid=0): 'unmatchedworkouts':unmatchedworkouts, }) +@login_required() +def plannedsessions_print_view(request,timeperiod='thisweek',rowerid=0): + + if rowerid==0: + r = getrower(request.user) + else: + try: + r = Rower.objects.get(id=rowerid) + except Rower.DoesNotExist: + raise Http404("This rower doesn't exist") + if not checkaccessuser(request.user,r): + raise PermissionDenied("You don't have access to this plan") + + startdate,enddate = get_dates_timeperiod(timeperiod) + + sps = get_sessions(r,startdate=startdate,enddate=enddate) + + completeness = {} + actualvalue = {} + completiondate = {} + + return render(request,'plannedsessions_print.html', + { + 'teams':get_my_teams(request.user), + 'plannedsessions':sps, + 'rower':r, + 'startdate':startdate, + 'enddate':enddate, + 'timeperiod':timeperiod, + }) + + @login_required() def plannedsessions_manage_view(request,timeperiod='thisweek',rowerid=0, initialsession=0):