diff --git a/rowers/templates/model_table.html b/rowers/templates/model_table.html
new file mode 100644
index 00000000..b4ed658e
--- /dev/null
+++ b/rowers/templates/model_table.html
@@ -0,0 +1,6 @@
+{% for row in rows %}
+
+ | {{ row.attr }} |
+ {{ row.value }} |
+
+{% endfor %}
diff --git a/rowers/templates/plannedsessionview.html b/rowers/templates/plannedsessionview.html
new file mode 100644
index 00000000..feba6c26
--- /dev/null
+++ b/rowers/templates/plannedsessionview.html
@@ -0,0 +1,29 @@
+{% extends "base.html" %}
+{% load staticfiles %}
+
+{% block title %}Planned Session{% endblock %}
+
+{% block content %}
+
+ {% include "planningbuttons.html" %}
+
+
+
+
Session {{ psdict.name.1 }}
+
+ {% for header, value in psdict.items %}
+ {% if header in attrs %}
+
+ | {{ value.0 }} | {{ value.1 }} |
+
+ {% endif %}
+ {% endfor %}
+
+
+
+
+
+
+{% endblock %}
diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py
index eebaaaf3..2f1d66e3 100644
--- a/rowers/templatetags/rowerfilters.py
+++ b/rowers/templatetags/rowerfilters.py
@@ -151,3 +151,4 @@ def team_members(user):
return []
return []
+
diff --git a/rowers/urls.py b/rowers/urls.py
index 89aa1130..884e6b95 100644
--- a/rowers/urls.py
+++ b/rowers/urls.py
@@ -398,6 +398,7 @@ urlpatterns = [
url(r'^workout/(?P\d+)/test\_strokedata$',views.strokedataform),
url(r'^sessions/create$',views.plannedsession_create_view),
url(r'^sessions/(?P\d+)/edit$',views.plannedsession_edit_view),
+ url(r'^sessions/(?P\d+)$',views.plannedsession_view),
]
if settings.DEBUG:
diff --git a/rowers/utils.py b/rowers/utils.py
index 108a670a..27fad934 100644
--- a/rowers/utils.py
+++ b/rowers/utils.py
@@ -291,3 +291,16 @@ from datetime import date
def calculate_age(born):
today = date.today()
return today.year - born.year - ((today.month, today.day) < (born.month, born.day))
+
+def my_dict_from_instance(instance,model):
+ thedict = {}
+
+ for attr, value in instance.__dict__.iteritems():
+ try:
+ verbose_name = model._meta.get_field(attr).verbose_name
+ except:
+ verbose_name = attr
+
+ thedict[attr] = (verbose_name,value)
+
+ return thedict
diff --git a/rowers/views.py b/rowers/views.py
index cbad780e..32e7a0d6 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -741,7 +741,7 @@ from utils import (
geo_distance,serialize_list,deserialize_list,uniqify,
str2bool,range_to_color_hex,absolute,myqueue,get_call,
calculate_age,rankingdistances,rankingdurations,
- is_ranking_piece
+ is_ranking_piece,my_dict_from_instance
)
import datautils
@@ -11801,3 +11801,24 @@ def plannedsession_edit_view(request,id=0):
'plannedsessions':sps,
'thesession':ps,
})
+
+def plannedsession_view(request,id=0):
+
+ r = getrower(request.user)
+
+ try:
+ ps = PlannedSession.objects.get(id=id)
+ except PlannedSession.DoesNotExist:
+ raise Http404("Planned Session does not exist")
+
+
+ psdict = {}
+
+ psdict = my_dict_from_instance(ps,PlannedSession)
+
+ return render(request,'plannedsessionview.html',
+ {
+ 'psdict': psdict,
+ 'attrs':['name','startdate']
+ }
+ )