From da02466f8aeb592e82d1f8421e207a102914cead Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 6 Feb 2018 10:57:47 +0100 Subject: [PATCH] very basic plannedsession view view --- rowers/templates/model_table.html | 6 +++++ rowers/templates/plannedsessionview.html | 29 ++++++++++++++++++++++++ rowers/templatetags/rowerfilters.py | 1 + rowers/urls.py | 1 + rowers/utils.py | 13 +++++++++++ rowers/views.py | 23 ++++++++++++++++++- 6 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 rowers/templates/model_table.html create mode 100644 rowers/templates/plannedsessionview.html 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 %} + + + + {% endif %} + {% endfor %} +
{{ value.0 }}{{ value.1 }}
+
+ + + + +{% 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'] + } + )