From 9547f791075308ee09ed7e7ec960b2452aeb5d33 Mon Sep 17 00:00:00 2001 From: Ben Adida <ben@adida.net> Date: Sat, 6 Nov 2010 10:46:16 -0700 Subject: [PATCH] started adding space for more stats --- helios/stats_urls.py | 15 +++++++++++++++ helios/stats_views.py | 36 ++++++++++++++++++++++++++++++++++++ helios/urls.py | 2 +- 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 helios/stats_urls.py create mode 100644 helios/stats_views.py diff --git a/helios/stats_urls.py b/helios/stats_urls.py new file mode 100644 index 0000000..e96909f --- /dev/null +++ b/helios/stats_urls.py @@ -0,0 +1,15 @@ +""" +Helios URLs for Election related stuff + +Ben Adida (ben@adida.net) +""" + +from django.conf.urls.defaults import * + +from helios.stats_views import * + +urlpatterns = patterns( + '', + (r'^$', home), + (r'^elections$', elections), +) diff --git a/helios/stats_views.py b/helios/stats_views.py new file mode 100644 index 0000000..30c2b95 --- /dev/null +++ b/helios/stats_views.py @@ -0,0 +1,36 @@ +""" +Helios stats views +""" + +from django.core.urlresolvers import reverse +from django.core.mail import send_mail +from django.core.paginator import Paginator +from django.http import * +from django.db import transaction + +from security import * +from auth.security import get_user, save_in_session_across_logouts + +def require_admin(request): + user = get_user(request) + if not user or not user.admin_p: + raise PermissionDenied() + + return user + +def home(request): + return HttpResponse("foo") + +def elections(request): + user = require_admin(request) + + page = int(request.GET.get('page', 1)) + limit = int(request.GET.get('limit', 25)) + + elections = Election.objects.all().order_by('-created_at') + elections_paginator = Paginator(elections, limit) + elections_page = elections_paginator.page(page) + + return render_template(request, "stats", {'elections' : elections_page.object_list, 'elections_page': elections_page, + 'limit' : limit}) + diff --git a/helios/urls.py b/helios/urls.py index 5c9127d..5c49d3b 100644 --- a/helios/urls.py +++ b/helios/urls.py @@ -12,7 +12,7 @@ urlpatterns = patterns('', (r'^testcookie$', test_cookie), (r'^testcookie_2$', test_cookie_2), (r'^nocookies$', nocookies), - (r'^stats$', stats), + (r'^stats/', include('helios.stats_urls')), (r'^socialbuttons$', socialbuttons), # election shortcut by shortname -- GitLab