From 2f5bdf5d1fe34ec65ccadf0b251ee7b76b676705 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Sun, 20 Feb 2011 17:08:17 -0600 Subject: [PATCH] Web (Karma): add detail page to see the deltas of one key this could be a graph, eventually, with more time to hack through something like YUI. http://developer.yahoo.com/yui/examples/charts/charts-styles_clean.html is a solid example --- web/karma/urls.py | 1 + web/karma/views.py | 10 +++++++++- web/templates/karma/key_detail.html | 31 +++++++++++++++++++++++++++++ web/templates/karma/stats.html | 2 +- 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 web/templates/karma/key_detail.html diff --git a/web/karma/urls.py b/web/karma/urls.py index 3525c1e..3d2bad6 100755 --- a/web/karma/urls.py +++ b/web/karma/urls.py @@ -4,4 +4,5 @@ urlpatterns = patterns('karma.views', (r'^$', 'index'), (r'^givers/$', 'givers'), (r'^stats/$', 'stats'), + (r'^stats/(?P.*)/$', 'key_detail', dict(), 'key_detail'), ) diff --git a/web/karma/views.py b/web/karma/views.py index c689fea..c8f54d2 100644 --- a/web/karma/views.py +++ b/web/karma/views.py @@ -1,5 +1,7 @@ from django.shortcuts import render_to_response -from karma.models import Value, User +from django.template import RequestContext + +from karma.models import Value, User, LogEntry def index(request): karma_values = len(Value.objects.all()) @@ -14,3 +16,9 @@ def stats(request): def givers(request): users = User.objects.all().order_by('who') return render_to_response('karma/givers.html', {'users': users}) + +def key_detail(request, key): + deltas = LogEntry.objects.filter(key=key) + return render_to_response('karma/key_detail.html', {'key': key,'deltas': deltas}, context_instance=RequestContext(request)) + +# vi:tabstop=4:expandtab:autoindent diff --git a/web/templates/karma/key_detail.html b/web/templates/karma/key_detail.html new file mode 100644 index 0000000..27612ce --- /dev/null +++ b/web/templates/karma/key_detail.html @@ -0,0 +1,31 @@ +{% autoescape on %} + + + + + dr.botzo — Karma — {{ key }} + + + {% if messages %} +
+
    + {% for message in messages %} + {{ message }} + {% endfor %} +
+
+ {% endif %} +
+
    + {% for delta in deltas %} +
  • {{ delta }}
  • + {% endfor %} +
+
+ + + + +{% endautoescape %} diff --git a/web/templates/karma/stats.html b/web/templates/karma/stats.html index e810359..12d72e1 100755 --- a/web/templates/karma/stats.html +++ b/web/templates/karma/stats.html @@ -2,7 +2,7 @@
    {% for value in values %}
  1. - {{ value.key }} ({{ value.value }}) + {{ value.key }} ({{ value.value }})
  2. {% endfor %}