Skip to content
Snippets Groups Projects
Commit 7395ccfa authored by Ben Adida's avatar Ben Adida
Browse files

added cookie testing

parent d4b4479d
No related branches found
No related tags found
No related merge requests found
...@@ -149,7 +149,7 @@ all voters will be notified that the tally is ready. ...@@ -149,7 +149,7 @@ all voters will be notified that the tally is ready.
{% if election.voting_has_started %} {% if election.voting_has_started %}
<span class="highlight-box round" style="font-size: 1.6em; margin-right: 10px;" id="votelink"> <span class="highlight-box round" style="font-size: 1.6em; margin-right: 10px;" id="votelink">
<a href="{{SECURE_URL_HOST}}/booth/vote.html?election_url={% url helios.views.one_election election.uuid %}">Vote in this election </a> <a href="{{test_cookie_url}}">Vote in this election </a>
</span><br /> </span><br />
{% if not user %} {% if not user %}
<br /> <br />
......
{% extends TEMPLATE_BASE %}
{% block title %}Cookies are required for Helios use{% endblock %}
{% block content %}
<h2 class="title">Cookies are Required for Helios</h2>
<p>
It appears your browser does not support cookies or is set up to block cookies from this site. Helios needs to set a session cookie so that it can save your vote, let you log in, etc. Enable cookies and then <a href="{{retest_url}}">proceed to preparing your ballot</a>
</p>
<p>
If you keep getting sent back to this page, it's probably because you haven't enabled cookies successfully.
</p>
{% endblock %}
...@@ -9,6 +9,9 @@ urlpatterns = None ...@@ -9,6 +9,9 @@ urlpatterns = None
urlpatterns = patterns('', urlpatterns = patterns('',
(r'^$', home), (r'^$', home),
(r'^testcookie$', test_cookie),
(r'^testcookie_2$', test_cookie_2),
(r'^nocookies$', nocookies),
(r'^stats$', stats), (r'^stats$', stats),
(r'^socialbuttons$', socialbuttons), (r'^socialbuttons$', socialbuttons),
......
...@@ -204,6 +204,10 @@ def one_election_view(request, election): ...@@ -204,6 +204,10 @@ def one_election_view(request, election):
election_url = get_election_url(election) election_url = get_election_url(election)
status_update_message = None status_update_message = None
vote_url = "%s/booth/vote.html?%s" % (settings.SECURE_URL_HOST, urllib.urlencode({'election_url' : reverse(one_election, args=[election.uuid])}))
test_cookie_url = "%s?%s" % (reverse(test_cookie), urllib.urlencode({'continue_url' : vote_url}))
if user: if user:
voter = Voter.get_by_election_and_user(election, user) voter = Voter.get_by_election_and_user(election, user)
...@@ -244,8 +248,27 @@ def one_election_view(request, election): ...@@ -244,8 +248,27 @@ def one_election_view(request, election):
return render_template(request, 'election_view', return render_template(request, 'election_view',
{'election' : election, 'trustees': trustees, 'admin_p': admin_p, 'user': user, {'election' : election, 'trustees': trustees, 'admin_p': admin_p, 'user': user,
'voter': voter, 'votes': votes, 'notregistered': notregistered, 'eligible_p': eligible_p, 'voter': voter, 'votes': votes, 'notregistered': notregistered, 'eligible_p': eligible_p,
'can_feature_p': can_feature_p, 'election_url' : election_url, 'can_feature_p': can_feature_p, 'election_url' : election_url, 'vote_url': vote_url,
'socialbuttons_url' : socialbuttons_url}) 'test_cookie_url': test_cookie_url, 'socialbuttons_url' : socialbuttons_url})
def test_cookie(request):
continue_url = request.GET['continue_url']
request.session.set_test_cookie()
next_url = "%s?%s" % (reverse(test_cookie_2), urllib.urlencode({'continue_url': continue_url}))
return HttpResponseRedirect(next_url)
def test_cookie_2(request):
continue_url = request.GET['continue_url']
if not request.session.test_cookie_worked():
return HttpResponseRedirect("%s?%s" % (reverse(nocookies), urllib.urlencode({'continue_url': continue_url})))
request.session.delete_test_cookie()
return HttpResponseRedirect(continue_url)
def nocookies(request):
retest_url = "%s?%s" % (reverse(test_cookie), urllib.urlencode({'continue_url' : request.GET['continue_url']}))
return render_template(request, 'nocookies', {'retest_url': retest_url})
def socialbuttons(request): def socialbuttons(request):
""" """
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment