From 7ce7a15621cba593ae10dd43c7ad8c6e538b0d67 Mon Sep 17 00:00:00 2001 From: Ben Adida <ben@adida.net> Date: Wed, 17 Nov 2010 08:20:08 -0800 Subject: [PATCH] added queue forcing --- helios/stats_urls.py | 1 + helios/stats_views.py | 9 +++++++++ helios/templates/stats.html | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/helios/stats_urls.py b/helios/stats_urls.py index 9e6e270..606ee80 100644 --- a/helios/stats_urls.py +++ b/helios/stats_urls.py @@ -11,6 +11,7 @@ from helios.stats_views import * urlpatterns = patterns( '', (r'^$', home), + (r'^force-queue$', force_queue), (r'^elections$', elections), (r'^recent-votes$', recent_votes), ) diff --git a/helios/stats_views.py b/helios/stats_views.py index 7381599..1affcbb 100644 --- a/helios/stats_views.py +++ b/helios/stats_views.py @@ -13,6 +13,7 @@ from security import * from auth.security import get_user, save_in_session_across_logouts from view_utils import * +from helios import tasks def require_admin(request): user = get_user(request) @@ -26,6 +27,14 @@ def home(request): num_votes_in_queue = CastVote.objects.filter(invalidated_at=None, verified_at=None).count() return render_template(request, 'stats', {'num_votes_in_queue': num_votes_in_queue}) +def force_queue(request): + user = require_admin(request) + votes_in_queue = CastVote.objects.filter(invalidated_at=None, verified_at=None) + for cv in votes_in_queue: + tasks.cast_vote_verify_and_store.delay(cv.id) + + return HttpResponseRedirect(reverse(home)) + def elections(request): user = require_admin(request) diff --git a/helios/templates/stats.html b/helios/templates/stats.html index 6b1cebd..9c48e9f 100644 --- a/helios/templates/stats.html +++ b/helios/templates/stats.html @@ -9,6 +9,6 @@ <li> <a href="{% url helios.stats_views.recent_votes %}">recent votes</a></li> </ul> -<p><b>{{num_votes_in_queue}}</b> votes in queue.</p> +<p><b>{{num_votes_in_queue}}</b> votes in queue. {% if num_votes_in_queue %}[<a href="{% url helios.stats_views.force_queue %}">force it</a>]{% endif %}</p> {% endblock %} -- GitLab