From d36b571142b415b518a30e10e238add27627b11b Mon Sep 17 00:00:00 2001
From: Ben Adida <ben@adida.net>
Date: Sun, 25 Jan 2015 23:41:08 +0000
Subject: [PATCH] updated all url tags

---
 helios/templates/_castconfirm_password.html   |  2 +-
 helios/templates/cast_done.html               |  2 +-
 helios/templates/castvote.html                |  2 +-
 helios/templates/combine_decryptions.html     |  2 +-
 .../templates/election_audited_ballots.html   |  4 +--
 helios/templates/election_bboard.html         |  4 +--
 helios/templates/election_build.html          |  2 +-
 helios/templates/election_cast_confirm.html   |  2 +-
 helios/templates/election_edit.html           |  2 +-
 helios/templates/election_freeze.html         |  2 +-
 helios/templates/election_keygenerator.html   |  2 +-
 helios/templates/election_new_2.html          |  2 +-
 helios/templates/election_not_started.html    |  2 +-
 helios/templates/election_questions.html      |  2 +-
 helios/templates/election_register.html       |  2 +-
 helios/templates/election_tallied.html        |  2 +-
 helios/templates/election_view.html           | 34 +++++++++----------
 helios/templates/elections_administered.html  |  2 +-
 helios/templates/elections_voted.html         |  2 +-
 helios/templates/list_trustees.html           | 12 +++----
 helios/templates/new_trustee.html             |  2 +-
 helios/templates/release_result.html          |  2 +-
 helios/templates/stats.html                   |  8 ++---
 helios/templates/stats_elections.html         |  2 +-
 helios/templates/stats_problem_elections.html |  2 +-
 helios/templates/stats_recent_votes.html      |  2 +-
 .../templates/trustee_decrypt_and_prove.html  |  2 +-
 helios/templates/trustee_home.html            |  6 ++--
 helios/templates/voters_eligibility.html      |  2 +-
 helios/templates/voters_email.html            |  4 +--
 helios/templates/voters_list.html             | 16 ++++-----
 helios/templates/voters_manage.html           |  8 ++---
 helios/templates/voters_search.html           |  4 +--
 helios/templates/voters_upload.html           |  2 +-
 helios/templates/voters_upload_confirm.html   |  6 ++--
 helios_auth/templates/index.html              |  2 +-
 server_ui/templates/confirm.html              |  2 +-
 server_ui/templates/done.html                 |  2 +-
 server_ui/templates/election_tallied.html     |  2 +-
 server_ui/templates/index.html                | 14 ++++----
 40 files changed, 88 insertions(+), 88 deletions(-)

diff --git a/helios/templates/_castconfirm_password.html b/helios/templates/_castconfirm_password.html
index 4610d75..25e31de 100644
--- a/helios/templates/_castconfirm_password.html
+++ b/helios/templates/_castconfirm_password.html
@@ -1,5 +1,5 @@
 Please provide the voter ID and password you received by email.<br /><br />
-<form method="post" action="{% url helios.views.password_voter_login election.uuid %}" onsubmit="show_waiting()">
+<form method="post" action="{% url "helios.views.password_voter_login" election.uuid %}" onsubmit="show_waiting()">
 <input type="hidden" name="csrf_token" value="{{csrf_token}}" />
 <input type="hidden" name="return_url" value="{{return_url}}" />
 <input type="hidden" name="cast_ballot" value="{{cast_ballot}}" />
diff --git a/helios/templates/cast_done.html b/helios/templates/cast_done.html
index 14b61fb..e4ddf4c 100644
--- a/helios/templates/cast_done.html
+++ b/helios/templates/cast_done.html
@@ -24,7 +24,7 @@
 {% endif %}
 
 <p style="font-size: 1.4em;">
-[ <a href="{% url helios.views.one_election_view election.uuid %}">return to election info</a> ]
+[ <a href="{% url "helios.views.one_election_view" election.uuid %}">return to election info</a> ]
 </p>
 
 {% endblock %}
diff --git a/helios/templates/castvote.html b/helios/templates/castvote.html
index bcba4ae..1c21d73 100644
--- a/helios/templates/castvote.html
+++ b/helios/templates/castvote.html
@@ -3,7 +3,7 @@
 {% block title %}{{cast_vote.vote_tinyhash}} &mdash; {{election.name}}{% endblock %}
 {% block content %}
 <h2 class="title">Cast Vote {{cast_vote.vote_tinyhash}}</h2>
-cast in <a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a><br />
+cast in <a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a><br />
 Fingerprint: <tt>{{cast_vote.vote_hash}}</tt><br />
 by <b><u>
 {% if the_voter.alias %}
diff --git a/helios/templates/combine_decryptions.html b/helios/templates/combine_decryptions.html
index f5c9bea..c14c762 100644
--- a/helios/templates/combine_decryptions.html
+++ b/helios/templates/combine_decryptions.html
@@ -2,7 +2,7 @@
 
 {% block title %}Compute Tally &mdash; {{election.name}}{% endblock %}
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Compute Tally <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">cancel</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Compute Tally <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">cancel</a>]</span></h2>
 
   <p>
     You are about to compute the tally for this election. You only will then see the results.
diff --git a/helios/templates/election_audited_ballots.html b/helios/templates/election_audited_ballots.html
index 247f3f3..2e01f9b 100644
--- a/helios/templates/election_audited_ballots.html
+++ b/helios/templates/election_audited_ballots.html
@@ -3,7 +3,7 @@
 {% block title %}Audited Ballots for {{election.name}}{% endblock %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Audited Ballots <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election_uuid=election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Audited Ballots <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election_uuid=election.uuid %}">back to election</a>]</span></h2>
 
 <p>
 When you prepare a ballot with Helios, you immediately receive a smart ballot tracker. Before you choose to cast that ballot, you have the option to ask Helios to "break open" that encrypted ballot and verify that Helios encrypted your ballot correctly. Once that's done, you can post that opened ballot here, on the audited ballots' list, for everyone to verify (your identity is not included). Once you've done this, you have to re-encrypt your choices and obtain a different smart ballot tracker. This helps reduce the chance that someone might coerce you to vote differently from your true choice.
@@ -14,7 +14,7 @@ These ballots are <em>not cast</em>, and they will not be counted. They are just
 </p>
 
 <p>
-  To verify an audited ballot, copy its entire content and paste it in the <a target="_new" href="/booth/single-ballot-verify.html?election_url={% url helios.views.one_election election.uuid %}">single ballot verifier</a>.
+  To verify an audited ballot, copy its entire content and paste it in the <a target="_new" href="/booth/single-ballot-verify.html?election_url={% url "helios.views.one_election" election.uuid %}">single ballot verifier</a>.
 </p>
 
 {% if audited_ballots %}
diff --git a/helios/templates/election_bboard.html b/helios/templates/election_bboard.html
index d170e66..a1aeb50 100644
--- a/helios/templates/election_bboard.html
+++ b/helios/templates/election_bboard.html
@@ -3,7 +3,7 @@
 {% block title %}Ballot Tracking Center for {{election.name}}{% endblock %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Ballot Tracking Center <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election_uuid=election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Ballot Tracking Center <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election_uuid=election.uuid %}">back to election</a>]</span></h2>
 
 <p>
   This is the ballot tracking center, which displays the tracking numbers of all cast ballots in this election.
@@ -40,7 +40,7 @@ Name
 {{voter.alias}}
 {% else %}
 <img border="0" height="20" src="/static/auth/login-icons/{{voter.voter_type}}.png" alt="{{voter.voter_type}}" /> {% if voter.name %}{{voter.name}}{% else %}{{voter.voter_id}}{% endif %}
-{% endif %}</td><td><tt style="font-size: 1.4em;;">{% if voter.vote_hash %}{{voter.vote_hash}} <span style="font-size:0.8em;">[<a href="{% url helios.views.voter_last_vote election_uuid=election.uuid,voter_uuid=voter.uuid %}">view</a>]</span>{% else %}&mdash;{% endif %}</tt></td></tr>
+{% endif %}</td><td><tt style="font-size: 1.4em;;">{% if voter.vote_hash %}{{voter.vote_hash}} <span style="font-size:0.8em;">[<a href="{% url "helios.views.voter_last_vote" election_uuid=election.uuid,voter_uuid=voter.uuid %}">view</a>]</span>{% else %}&mdash;{% endif %}</tt></td></tr>
 {% endfor %}
 </table>
 
diff --git a/helios/templates/election_build.html b/helios/templates/election_build.html
index 599fe40..5488c2d 100644
--- a/helios/templates/election_build.html
+++ b/helios/templates/election_build.html
@@ -1,7 +1,7 @@
 {% extends "helios/templates/cryptobase.html" %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Questions <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Questions <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h2>
 
   <script language="javascript">
 {% if election.questions %}
diff --git a/helios/templates/election_cast_confirm.html b/helios/templates/election_cast_confirm.html
index a064941..346284c 100644
--- a/helios/templates/election_cast_confirm.html
+++ b/helios/templates/election_cast_confirm.html
@@ -73,7 +73,7 @@ requires election-specific credentials.
   {% endif %}
   </b><br /></p>
 <p>
-    [<a href="{% url helios.views.one_election_view election.uuid %}">return to the main election page</a>]
+    [<a href="{% url "helios.views.one_election_view" election.uuid %}">return to the main election page</a>]
 </p>
 {% else %}
 <p>
diff --git a/helios/templates/election_edit.html b/helios/templates/election_edit.html
index b14c4a2..0c6c08c 100644
--- a/helios/templates/election_edit.html
+++ b/helios/templates/election_edit.html
@@ -2,7 +2,7 @@
 
 {% block content %}
 
-  <h2 class="title">{{election.name}} &mdash; Update <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">cancel</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Update <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">cancel</a>]</span></h2>
   
 {% if error %}
 <p style="color: red;">
diff --git a/helios/templates/election_freeze.html b/helios/templates/election_freeze.html
index 7f5a630..a0aad4d 100644
--- a/helios/templates/election_freeze.html
+++ b/helios/templates/election_freeze.html
@@ -29,7 +29,7 @@ You must freeze the ballot before you can contact voters.
         <li>{{issue.action}}</li>
         {% endfor %}
     </ul>
-    <a href="{% url helios.views.one_election_view election.uuid %}">go back to the election</a>
+    <a href="{% url "helios.views.one_election_view" election.uuid %}">go back to the election</a>
 </p>
 {% else %}
 <form method="post" action="">
diff --git a/helios/templates/election_keygenerator.html b/helios/templates/election_keygenerator.html
index 33da0dd..b896b82 100644
--- a/helios/templates/election_keygenerator.html
+++ b/helios/templates/election_keygenerator.html
@@ -134,7 +134,7 @@ Your key has been generated, but you may choose to<br /><a href="javascript:clea
 </p>
 </div>
 
-<form method="post" id="pk_form" action="{% url helios.views.trustee_upload_pk election.uuid, trustee.uuid %}">
+<form method="post" id="pk_form" action="{% url "helios.views.trustee_upload_pk" election.uuid, trustee.uuid %}">
 <h3>Your Public Key</h3>
 <p>
     It's time to upload the public key to the server.
diff --git a/helios/templates/election_new_2.html b/helios/templates/election_new_2.html
index a53b1fe..16061c2 100644
--- a/helios/templates/election_new_2.html
+++ b/helios/templates/election_new_2.html
@@ -56,7 +56,7 @@ $(document).ready(function() {
 <b>An election managed by multiple trustees</b>.
 {% endifequal %}
 {% endifequal %}
-  <form class="prettyform" action="{% url helios.views.election_new_3 %}" method="POST" id="create_election_form" onsubmit="return before_create();">
+  <form class="prettyform" action="{% url "helios.views.election_new_3" %}" method="POST" id="create_election_form" onsubmit="return before_create();">
       <input type="hidden" name="csrf_token" value="{{csrf_token}}" />
       <input type="hidden" name="name" value="{{name}}" />
       <input type="hidden" name="public_key" id="pk" value="" />
diff --git a/helios/templates/election_not_started.html b/helios/templates/election_not_started.html
index 22eec6c..4ba944e 100644
--- a/helios/templates/election_not_started.html
+++ b/helios/templates/election_not_started.html
@@ -9,6 +9,6 @@
   </p>
   
   <p>
-      <a href="{% url helios.views.one_election_view election.uuid %}">back to the election</a>
+      <a href="{% url "helios.views.one_election_view" election.uuid %}">back to the election</a>
   </p>
 {% endblock %}
diff --git a/helios/templates/election_questions.html b/helios/templates/election_questions.html
index adfb860..030b24f 100644
--- a/helios/templates/election_questions.html
+++ b/helios/templates/election_questions.html
@@ -2,7 +2,7 @@
 
 {% block title %}Questions for {{election.name}}{% endblock %}
 {% block content %}
-  <h3 class="title">{{election.name}} &mdash; Questions <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h3>
+  <h3 class="title">{{election.name}} &mdash; Questions <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h3>
 
   <script language="javascript">
 {% if election.questions %}
diff --git a/helios/templates/election_register.html b/helios/templates/election_register.html
index 411f9dd..e1c731e 100644
--- a/helios/templates/election_register.html
+++ b/helios/templates/election_register.html
@@ -16,7 +16,7 @@
     You are <em>not</em> registered for this election.
 </p>
 
-<form method="post" action="{% url helios.views.one_election_register election.uuid %}">
+<form method="post" action="{% url "helios.views.one_election_register" election.uuid %}">
 <input type="submit" value="register!" />
 </form>
 {% endif %}
diff --git a/helios/templates/election_tallied.html b/helios/templates/election_tallied.html
index 9d1a818..9b00b63 100644
--- a/helios/templates/election_tallied.html
+++ b/helios/templates/election_tallied.html
@@ -9,6 +9,6 @@
   </p>
   
   <p>
-      <a href="{% url helios.views.one_election_view election.uuid %}">view the election tally</a>
+      <a href="{% url "helios.views.one_election_view" election.uuid %}">view the election tally</a>
   </p>
 {% endblock %}
\ No newline at end of file
diff --git a/helios/templates/election_view.html b/helios/templates/election_view.html
index 3bd61e2..64bf5e2 100644
--- a/helios/templates/election_view.html
+++ b/helios/templates/election_view.html
@@ -5,7 +5,7 @@
   <h3 class="title">{{ election.name }}
 {% if admin_p %}
 {% if not election.frozen_at %}
-<small><a class="small button" href="{% url helios.views.one_election_edit election.uuid %}">edit</a></small>
+<small><a class="small button" href="{% url "helios.views.one_election_edit" election.uuid %}">edit</a></small>
 {% endif %}
 {% endif %}</h3>
 <p style="padding-top:0px; margin-top:0px">
@@ -14,7 +14,7 @@
 [archived]
 {% endif %}
 {% if admin_p %}
-&nbsp;{% if election.is_archived %}<a class="small button" href="{% url helios.views.one_election_archive election_uuid=election.uuid %}?archive_p=0">unarchive it</a>{% else %}<a class="small button" href="{% url helios.views.one_election_archive election_uuid=election.uuid %}?archive_p=1">archive it</a>{% endif %}
+&nbsp;{% if election.is_archived %}<a class="small button" href="{% url "helios.views.one_election_archive" election_uuid=election.uuid %}?archive_p=0">unarchive it</a>{% else %}<a class="small button" href="{% url "helios.views.one_election_archive" election_uuid=election.uuid %}?archive_p=1">archive it</a>{% endif %}
 {% endif %}
 <br />
 {% if admin_p %}
@@ -22,12 +22,12 @@
 {% if election.featured_p %}
 this {{election.election_type}} is featured on the front page.
 {% if can_feature_p %}
-[<a href="{% url helios.views.one_election_set_featured election.uuid %}?featured_p=0">unfeature it</a>]
+[<a href="{% url "helios.views.one_election_set_featured" election.uuid %}?featured_p=0">unfeature it</a>]
 {% endif %}
 {% else %}
 this {{election.election_type}} is <u>not</u> featured on the front page.
 {% if can_feature_p %}
-[<a href="{% url helios.views.one_election_set_featured election.uuid %}?featured_p=1">feature it</a>]
+[<a href="{% url "helios.views.one_election_set_featured" election.uuid %}?featured_p=1">feature it</a>]
 {% endif %}
 {% endif %}
 {% endif %}
@@ -54,11 +54,11 @@ this {{election.election_type}} is <u>not</u> featured on the front page.
 {% endif %}
 
 <p align="center" style="font-size: 1.5em;">
-<a href="{% url helios.views.one_election_questions election.uuid %}">questions ({% if election.questions %}{{election.questions|length}}{% else %}0{% endif %})</a>
+<a href="{% url "helios.views.one_election_questions" election.uuid %}">questions ({% if election.questions %}{{election.questions|length}}{% else %}0{% endif %})</a>
 &nbsp;&nbsp;|&nbsp;&nbsp;
-<a href="{% url helios.views.voters_list_pretty election.uuid %}">voters &amp; ballots</a>
+<a href="{% url "helios.views.voters_list_pretty" election.uuid %}">voters &amp; ballots</a>
 &nbsp;&nbsp;|&nbsp;&nbsp;
-<a href="{% url helios.views.list_trustees_view election.uuid %}">trustees ({{trustees|length}})</a>
+<a href="{% url "helios.views.list_trustees_view" election.uuid %}">trustees ({{trustees|length}})</a>
 </p>
 
 {% if admin_p %}
@@ -90,7 +90,7 @@ this {{election.election_type}} is <u>not</u> featured on the front page.
 {{issue.action}}{% if forloop.last %}{% else %}, and{% endif %}<br />
 {% endfor %}
 {% else %}
-<a href="{% url helios.views.one_election_freeze election.uuid %}">freeze ballot and open election.</a>
+<a href="{% url "helios.views.one_election_freeze" election.uuid %}">freeze ballot and open election.</a>
 <br />
 {% if election.voting_starts_at %}
 once you do this, the election will be ready for voting and will open automatically<br />
@@ -107,20 +107,20 @@ once you do this, the election will be immediately open for voting.
 Tally computation is under way.<br />
 Reload this page in a couple of minutes.
 {% else %}
-<a href="{% url helios.views.one_election_compute_tally election.uuid %}">compute encrypted tally</a><br />
+<a href="{% url "helios.views.one_election_compute_tally" election.uuid %}">compute encrypted tally</a><br />
 The encrypted votes will be combined into an encrypted tally. Once this is done,<br />
 trustees will be asked to provide their share of the decryption.
 {% endif %}
 {% else %}
 
 {% if election.result %}
-<a href="{% url helios.views.release_result election.uuid %}">release result</a><br />
+<a href="{% url "helios.views.release_result" election.uuid %}">release result</a><br />
 The result displayed below is visible only to you.<br />
 Once you release the result, it will be visible to everyone.
 {% else %}
 
 {% if election.ready_for_decryption_combination %}
-<a href="{% url helios.views.combine_decryptions election.uuid %}">
+<a href="{% url "helios.views.combine_decryptions" election.uuid %}">
 {% if election.num_trustees == 1 %}
 compute results
 {% else %}
@@ -134,7 +134,7 @@ The decryption shares from the trustees will be combined and the tally computed.
 Once you do this, the tally will visible to you, the administrator, only.
 {% endif %}
 {% else %}
-<a href="{% url helios.views.list_trustees_view election.uuid %}">trustees (for decryption)</a>
+<a href="{% url "helios.views.list_trustees_view" election.uuid %}">trustees (for decryption)</a>
 {% endif %}
 
 {% endif %}
@@ -239,7 +239,7 @@ You are <em>not eligible</em> to vote in this {{election.election_type}}.
 {% if election.openreg %}
 {% if election.eligibility %}
 This election is open to: {{election.pretty_eligibility|safe}}
-<a href="{{settings.SECURE_URL_HOST}}{% url helios_auth.views.index %}?return_url={{CURRENT_URL}}">Log in</a> to check your eligibility.
+<a href="{{settings.SECURE_URL_HOST}}{% url "helios_auth.views.index" %}?return_url={{CURRENT_URL}}">Log in</a> to check your eligibility.
 {% else %}
 Anyone can vote in this election.
 {% endif %}
@@ -271,22 +271,22 @@ Anyone can vote in this election.
 {% endif %}
 
 <p style="font-size: 1.3em;">
-<a href="{% url helios.views.voters_list_pretty election.uuid %}">Ballot Tracking Center</a> &nbsp;| &nbsp;
-<a href="{% url helios.views.one_election_audited_ballots election.uuid %}">Audited Ballots</a>
+<a href="{% url "helios.views.voters_list_pretty" election.uuid %}">Ballot Tracking Center</a> &nbsp;| &nbsp;
+<a href="{% url "helios.views.one_election_audited_ballots" election.uuid %}">Audited Ballots</a>
 </p>
 
 {% endif %}
 
 {% if not election.voting_has_started %}
 <p style="font-size: 1.2em;">
-  <a href="{{SECURE_URL_HOST}}/booth/vote.html?election_url={% url helios.views.one_election election.uuid %}">preview booth</a>
+  <a href="{{SECURE_URL_HOST}}/booth/vote.html?election_url={% url "helios.views.one_election" election.uuid %}">preview booth</a>
 </p>
 {% endif %}  
 
 {% if election.voting_has_stopped %}
 <p style="font-size: 1.2em;">
 {% if election.result %}
-verify <a target="_blank" href="/verifier/verify.html?election_url={% url helios.views.one_election election.uuid %}">election tally</a>.
+verify <a target="_blank" href="/verifier/verify.html?election_url={% url "helios.views.one_election" election.uuid %}">election tally</a>.
 {% endif %}
 
 review the <a href="{{vote_url}}">voting booth</a>.
diff --git a/helios/templates/elections_administered.html b/helios/templates/elections_administered.html
index ac6ded8..3db1018 100644
--- a/helios/templates/elections_administered.html
+++ b/helios/templates/elections_administered.html
@@ -5,7 +5,7 @@
 
 <ul>
 {% for election in elections %}
-<li> <a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></li>
+<li> <a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></li>
 {% endfor %}
 </ul>
 {% endblock %}
\ No newline at end of file
diff --git a/helios/templates/elections_voted.html b/helios/templates/elections_voted.html
index 61a718f..7447eb0 100644
--- a/helios/templates/elections_voted.html
+++ b/helios/templates/elections_voted.html
@@ -5,7 +5,7 @@
 
 <ul>
 {% for election in elections %}
-<li> <a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></li>
+<li> <a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></li>
 {% endfor %}
 </ul>
 {% endblock %}
diff --git a/helios/templates/list_trustees.html b/helios/templates/list_trustees.html
index eb08a9e..6fde295 100644
--- a/helios/templates/list_trustees.html
+++ b/helios/templates/list_trustees.html
@@ -3,7 +3,7 @@
 {% block title %}Trustees for {{election.name}}{% endblock %}
 
 {% block content %}
-  <h3 class="title">{{election.name}} &mdash; Trustees <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h3>
+  <h3 class="title">{{election.name}} &mdash; Trustees <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h3>
 
 <p>
     Trustees are responsible for decrypting the election result.<br />
@@ -21,11 +21,11 @@
 
 {% if admin_p %}
 <p>
-    [ <a onclick="return(confirm('Adding your own trustee requires a good bit more work to tally the election.\nYou will need to have trustees generate keypairs and safeguard their secret key.\n\nIf you are not sure what that means, we strongly recommend\nclicking Cancel and letting Helios tally the election for you.'));" href="{% url helios.views.new_trustee election.uuid %}">add a trustee</a> ]
+    [ <a onclick="return(confirm('Adding your own trustee requires a good bit more work to tally the election.\nYou will need to have trustees generate keypairs and safeguard their secret key.\n\nIf you are not sure what that means, we strongly recommend\nclicking Cancel and letting Helios tally the election for you.'));" href="{% url "helios.views.new_trustee" election.uuid %}">add a trustee</a> ]
 </p>
 {% if not election.has_helios_trustee %}
 <p>
-    <a href="{% url helios.views.new_trustee_helios election.uuid %}">add Helios as a trustee</a>
+    <a href="{% url "helios.views.new_trustee_helios" election.uuid %}">add Helios as a trustee</a>
 </p>
 {% endif %}
 {% endif %}
@@ -39,11 +39,11 @@
 <h5> Trustee #{{forloop.counter}}: {{t.name}} 
 {% if admin_p %}
 {% if t.secret_key %}
-{% if not election.frozen_at %}[<a onclick="return confirm('Are you sure you want to remove Helios as a trustee?');" href="{% url helios.views.delete_trustee election.uuid %}?uuid={{t.uuid}}">x</a>]{% endif %}
+{% if not election.frozen_at %}[<a onclick="return confirm('Are you sure you want to remove Helios as a trustee?');" href="{% url "helios.views.delete_trustee" election.uuid %}?uuid={{t.uuid}}">x</a>]{% endif %}
 {% else %}
 ({{t.email}})
-{% if not election.frozen_at %}[<a onclick="return confirm('Are you sure you want to remove this Trustee?');" href="{% url helios.views.delete_trustee election.uuid %}?uuid={{t.uuid}}">x</a>]{% endif %}
-[<a onclick="return confirm('Are you sure you want to send this trustee his/her admin URL?');" href="{% url helios.views.trustee_send_url election.uuid t.uuid %}">send login</a>]
+{% if not election.frozen_at %}[<a onclick="return confirm('Are you sure you want to remove this Trustee?');" href="{% url "helios.views.delete_trustee" election.uuid %}?uuid={{t.uuid}}">x</a>]{% endif %}
+[<a onclick="return confirm('Are you sure you want to send this trustee his/her admin URL?');" href="{% url "helios.views.trustee_send_url" election.uuid t.uuid %}">send login</a>]
 {% endif %}
 {% endif %}
 </h5>
diff --git a/helios/templates/new_trustee.html b/helios/templates/new_trustee.html
index d733d29..d41079c 100644
--- a/helios/templates/new_trustee.html
+++ b/helios/templates/new_trustee.html
@@ -1,7 +1,7 @@
 {% extends "helios/templates/cryptobase.html" %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; New Trustee <span style="font-size:0.7em;">[<a href="{% url helios.views.list_trustees_view election.uuid %}">cancel</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; New Trustee <span style="font-size:0.7em;">[<a href="{% url "helios.views.list_trustees_view" election.uuid %}">cancel</a>]</span></h2>
   
 <form method="post" action="">
 Name: <input type="text" name="name" size="60" /><br /><br />
diff --git a/helios/templates/release_result.html b/helios/templates/release_result.html
index 5dc4276..b97a241 100644
--- a/helios/templates/release_result.html
+++ b/helios/templates/release_result.html
@@ -2,7 +2,7 @@
 
 {% block title %}Release Result &mdash; {{election.name}}{% endblock %}
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Release Result <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">cancel</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Release Result <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">cancel</a>]</span></h2>
 
   <p>
     You are about to release the result for this election.
diff --git a/helios/templates/stats.html b/helios/templates/stats.html
index a45c1e3..37468b7 100644
--- a/helios/templates/stats.html
+++ b/helios/templates/stats.html
@@ -5,11 +5,11 @@
 <h1>Admin</h1>
 
 <ul>
-<li> <a href="{% url helios.stats_views.elections %}">elections</a></li>
-<li> <a href="{% url helios.stats_views.recent_votes %}">recent votes</a></li>
-<li> <a href="{% url helios.stats_views.recent_problem_elections %}">recent problem elections</a></li>
+<li> <a href="{% url "helios.stats_views.elections" %}">elections</a></li>
+<li> <a href="{% url "helios.stats_views.recent_votes" %}">recent votes</a></li>
+<li> <a href="{% url "helios.stats_views.recent_problem_elections" %}">recent problem elections</a></li>
 </ul>
 
-<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>
+<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 %}
diff --git a/helios/templates/stats_elections.html b/helios/templates/stats_elections.html
index 7fe4133..bb4a232 100644
--- a/helios/templates/stats_elections.html
+++ b/helios/templates/stats_elections.html
@@ -18,7 +18,7 @@ Elections {{elections_page.start_index}} - {{elections_page.end_index}}&nbsp;&nb
 
 {% for election in elections %}
 <p>
-<b><a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></b> by <a href="mailto:{{election.admin.info.email}}">{{election.admin.pretty_name}}</a> -- {{election.num_voters}} voters / {{election.num_cast_votes}} cast votes
+<b><a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></b> by <a href="mailto:{{election.admin.info.email}}">{{election.admin.pretty_name}}</a> -- {{election.num_voters}} voters / {{election.num_cast_votes}} cast votes
 </p>
 {% endfor %}
 
diff --git a/helios/templates/stats_problem_elections.html b/helios/templates/stats_problem_elections.html
index 341e375..9f8c1da 100644
--- a/helios/templates/stats_problem_elections.html
+++ b/helios/templates/stats_problem_elections.html
@@ -8,7 +8,7 @@ Unfrozen for more than a day.
 
 {% for election in elections %}
 <p>
-<b><a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></b> -- {{election.num_voters}} voters
+<b><a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></b> -- {{election.num_voters}} voters
 </p>
 {% endfor %}
 
diff --git a/helios/templates/stats_recent_votes.html b/helios/templates/stats_recent_votes.html
index d68bbd4..37c0741 100644
--- a/helios/templates/stats_recent_votes.html
+++ b/helios/templates/stats_recent_votes.html
@@ -8,7 +8,7 @@ Last 24 hours
 
 {% for election in elections %}
 <p>
-<b><a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></b> -- {{election.last_cast_vote}} {{election.num_recent_cast_votes}} recently cast votes
+<b><a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></b> -- {{election.last_cast_vote}} {{election.num_recent_cast_votes}} recently cast votes
 </p>
 {% endfor %}
 
diff --git a/helios/templates/trustee_decrypt_and_prove.html b/helios/templates/trustee_decrypt_and_prove.html
index fbdce01..d4cbe43 100644
--- a/helios/templates/trustee_decrypt_and_prove.html
+++ b/helios/templates/trustee_decrypt_and_prove.html
@@ -197,7 +197,7 @@ function reset() {
   </div>
   
   <div id="done_div">
-      Done! <a href="{% url helios.views.one_election_view election.uuid %}">Back to election</a>
+      Done! <a href="{% url "helios.views.one_election_view" election.uuid %}">Back to election</a>
   </div>
   
   <div id="error_div">
diff --git a/helios/templates/trustee_home.html b/helios/templates/trustee_home.html
index f4becb5..96d8754 100644
--- a/helios/templates/trustee_home.html
+++ b/helios/templates/trustee_home.html
@@ -7,9 +7,9 @@
 {% if trustee.public_key_hash %}
 You have successfully uploaded your public key.<br />
 Your public key fingerprint is: <b>{{trustee.public_key_hash}}</b>.<br />
-You can <a href="{% url helios.views.trustee_check_sk election.uuid, trustee.uuid %}">verify that you have the right secret key</a>.
+You can <a href="{% url "helios.views.trustee_check_sk" election.uuid, trustee.uuid %}">verify that you have the right secret key</a>.
 {% else %}
-<a href="{% url helios.views.trustee_keygenerator election.uuid, trustee.uuid %}">setup your key</a>
+<a href="{% url "helios.views.trustee_keygenerator" election.uuid, trustee.uuid %}">setup your key</a>
 {% endif %}
 </p>
 
@@ -19,7 +19,7 @@ You can <a href="{% url helios.views.trustee_check_sk election.uuid, trustee.uui
 You have successfully uploaded your decryption.
 {% else %}
     The encrypted tally for this election is ready.<br />
-    <a href="{% url helios.views.trustee_decrypt_and_prove election.uuid, trustee.uuid %}">decrypt with your key</a>
+    <a href="{% url "helios.views.trustee_decrypt_and_prove" election.uuid, trustee.uuid %}">decrypt with your key</a>
 {% endif %}
 {% else %}
 Once the tally is computed, come back here to provide your secret key for decryption purposes.<br />
diff --git a/helios/templates/voters_eligibility.html b/helios/templates/voters_eligibility.html
index eb40311..51343be 100644
--- a/helios/templates/voters_eligibility.html
+++ b/helios/templates/voters_eligibility.html
@@ -2,7 +2,7 @@
 
 {% block title %}Voter Eligibility for {{election.name}}{% endblock %}
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Voter Eligibility <span style="font-size:0.7em;">[<a href="{% url helios.views.voters_list_pretty election.uuid %}">back to voters</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Voter Eligibility <span style="font-size:0.7em;">[<a href="{% url "helios.views.voters_list_pretty" election.uuid %}">back to voters</a>]</span></h2>
 
 <p>
 <em>{{election.pretty_eligibility|safe}}</em>
diff --git a/helios/templates/voters_email.html b/helios/templates/voters_email.html
index 32a38ab..0110054 100644
--- a/helios/templates/voters_email.html
+++ b/helios/templates/voters_email.html
@@ -9,7 +9,7 @@ voter_id = '{{voter.voter_id}}';
 {% endif %}
 </script>
 
-  <h2 class="title">{{election.name}} &mdash; Contact Voters <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Contact Voters <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h2>
 
 {% if voter %}  
   <p>
@@ -55,7 +55,7 @@ You may tweak the subject and add a custom message using the form below.
   </div>
   
   <div id="done" style="display:none;">
-    Done, go <a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>.
+    Done, go <a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>.
   </div>
 
   <div id="error" style="display:none;">
diff --git a/helios/templates/voters_list.html b/helios/templates/voters_list.html
index b2460a2..94edfd6 100644
--- a/helios/templates/voters_list.html
+++ b/helios/templates/voters_list.html
@@ -2,7 +2,7 @@
 
 {% block title %}Voters &amp; Ballot Tracking Center for {{election.name}}{% endblock %}
 {% block content %}
-  <h3 class="title">{{election.name}} &mdash; Voters and Ballot Tracking Center <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h3>
+  <h3 class="title">{{election.name}} &mdash; Voters and Ballot Tracking Center <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h3>
 
 <p>
 <b>Who can vote?</b>
@@ -18,7 +18,7 @@
 <em>Your election is marked private, which means you cannot open registration up more widely</em>.<br />
 {% else %}
 You can change this setting:
-<form method="post" action="{% url helios.views.voters_eligibility election.uuid %}">
+<form method="post" action="{% url "helios.views.voters_eligibility" election.uuid %}">
 <input type="hidden" name="csrf_token" value="{{csrf_token}}" />
 <input type="radio" name="eligibility" value="openreg" {% if election.openreg and not election.eligibility %}CHECKED{% endif %} /> anyone can vote<br />
 <input type="radio" name="eligibility" value="closedreg" {% if not election.openreg %}CHECKED{% endif %} /> only voters listed explicitly below can vote<br />
@@ -37,7 +37,7 @@ You can change this setting:
 {% endif %}
 
 {% if email_voters and election.frozen_at and admin_p %}
-<p><a class="button" href="{% url helios.views.voters_email election.uuid %}">email voters</a></p>
+<p><a class="button" href="{% url "helios.views.voters_email" election.uuid %}">email voters</a></p>
 {% endif %}
 
 {% if election.num_voters > 20 %}
@@ -45,7 +45,7 @@ You can change this setting:
 {% if q %}
 <p><em>searching for <u>{{q}}</u>.</em> [<a href="?">clear search</a>]</p>
 {% else %}
-<form method="get" action="{% url helios.views.voters_list_pretty election.uuid %}"><b>search</b>: <input type="text" name="q" /> <input type="submit" value="search" /></form>
+<form method="get" action="{% url "helios.views.voters_list_pretty" election.uuid %}"><b>search</b>: <input type="text" name="q" /> <input type="submit" value="search" /></form>
 {% endif %}
 </p>
 {% endif %}
@@ -54,7 +54,7 @@ You can change this setting:
 <!-- Add a Voter: WORK HERE-->
 {% if upload_p and not election.openreg %}
 <p>
-<a class="button" href="{% url helios.views.voters_upload election_uuid=election.uuid %}">bulk upload voters</a>
+<a class="button" href="{% url "helios.views.voters_upload" election_uuid=election.uuid %}">bulk upload voters</a>
 </p>
 
 {% if voter_files %}
@@ -125,15 +125,15 @@ Voters {{voters_page.start_index}} - {{voters_page.end_index}} (of {{total_voter
 {% if admin_p or not election.use_voter_aliases %}
 <td>
 {% if admin_p %}
-[<a href="{% url helios.views.voters_email election.uuid %}?voter_id={{voter.voter_login_id}}">email</a>]
-[<a onclick="return confirm('are you sure you want to remove {{voter.name}} ?');" href="{% url helios.views.voter_delete election.uuid, voter.uuid %}">x</a>]
+[<a href="{% url "helios.views.voters_email" election.uuid %}?voter_id={{voter.voter_login_id}}">email</a>]
+[<a onclick="return confirm('are you sure you want to remove {{voter.name}} ?');" href="{% url "helios.views.voter_delete" election.uuid, voter.uuid %}">x</a>]
 {% endif %}
 <img class="small-logo" src="/static/auth/login-icons/{{voter.voter_type}}.png" alt="{{voter.voter_type}}" /> {{voter.name}}</td>
 {% endif %}
 {% if election.use_voter_aliases %}
 <td>{{voter.alias}}</td>
 {% endif %}
-<td><tt style="font-size: 1.4em;;">{% if voter.vote_hash %}{{voter.vote_hash}} <span style="font-size:0.8em;">[<a href="{% url helios.views.castvote_shortcut vote_tinyhash=voter.vote_tinyhash %}">view</a>]</span>{% else %}&mdash;{% endif %}</tt></td>
+<td><tt style="font-size: 1.4em;;">{% if voter.vote_hash %}{{voter.vote_hash}} <span style="font-size:0.8em;">[<a href="{% url "helios.views.castvote_shortcut" vote_tinyhash=voter.vote_tinyhash %}">view</a>]</span>{% else %}&mdash;{% endif %}</tt></td>
 </tr>
 {% endfor %}
 </table>
diff --git a/helios/templates/voters_manage.html b/helios/templates/voters_manage.html
index 9fb592d..bd24c74 100644
--- a/helios/templates/voters_manage.html
+++ b/helios/templates/voters_manage.html
@@ -1,12 +1,12 @@
 {% extends TEMPLATE_BASE %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Manage Voters <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Manage Voters <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h2>
 
-<form method="get" action="{% url helios.views.voters_search election.uuid %}"><b>search</b>: <input type="text" name="q" /> <input type="submit" value="search" /></form>
+<form method="get" action="{% url "helios.views.voters_search" election.uuid %}"><b>search</b>: <input type="text" name="q" /> <input type="submit" value="search" /></form>
 
 {% if upload_p %}
-<p><a href="{% url helios.views.voters_upload election_uuid=election.uuid %}">bulk upload voters</a></p>
+<p><a href="{% url "helios.views.voters_upload" election_uuid=election.uuid %}">bulk upload voters</a></p>
 {% endif %}
 
 Voters {{offset_plus_one}} - {{offset_plus_limit}} &nbsp;&nbsp;
@@ -29,7 +29,7 @@ Voters {{offset_plus_one}} - {{offset_plus_limit}} &nbsp;&nbsp;
 <tr><td>{{voter.alias}}</td><td>{{voter.name}}</td><td>{{voter.voter_id}}
 {% if election.frozen_at %}
 {% else %}
-[<a onclick="return confirm('are you sure you want to remove {{voter.name}} ?');" href="{% url helios.views.voter_delete election.uuid, voter.uuid %}">x</a>]
+[<a onclick="return confirm('are you sure you want to remove {{voter.name}} ?');" href="{% url "helios.views.voter_delete" election.uuid, voter.uuid %}">x</a>]
 {% endif %}
 </td></tr>
 {% endfor %}
diff --git a/helios/templates/voters_search.html b/helios/templates/voters_search.html
index 77cafca..1adfb33 100644
--- a/helios/templates/voters_search.html
+++ b/helios/templates/voters_search.html
@@ -1,12 +1,12 @@
 {% extends TEMPLATE_BASE %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Search Voters for '{{search_term}}' <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Search Voters for '{{search_term}}' <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h2>
 
 {% if voter %}
 Voter Found: {{voter.name}} ({{voter.voter_id}})<br /><br />
 {% if election.frozen_at %}
-<a href="{% url helios.views.voters_email election.uuid %}?voter_id={{voter.voter_id}}">email this voter</a>
+<a href="{% url "helios.views.voters_email" election.uuid %}?voter_id={{voter.voter_id}}">email this voter</a>
 {% else %}
 once this election is frozen, you'll be able to email this voter.
 {% endif %}
diff --git a/helios/templates/voters_upload.html b/helios/templates/voters_upload.html
index d8ea341..a38956d 100644
--- a/helios/templates/voters_upload.html
+++ b/helios/templates/voters_upload.html
@@ -1,7 +1,7 @@
 {% extends TEMPLATE_BASE %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Bulk Upload Voters <span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Bulk Upload Voters <span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h2>
 
 <form method="post" action="" id="upload_form" enctype="multipart/form-data">
   <p>
diff --git a/helios/templates/voters_upload_confirm.html b/helios/templates/voters_upload_confirm.html
index 20caaae..c3d7c08 100644
--- a/helios/templates/voters_upload_confirm.html
+++ b/helios/templates/voters_upload_confirm.html
@@ -1,7 +1,7 @@
 {% extends TEMPLATE_BASE %}
 
 {% block content %}
-  <h2 class="title">{{election.name}} &mdash; Bulk Upload Voters &mdash; Confirm<span style="font-size:0.7em;">[<a href="{% url helios.views.one_election_view election.uuid %}">back to election</a>]</span></h2>
+  <h2 class="title">{{election.name}} &mdash; Bulk Upload Voters &mdash; Confirm<span style="font-size:0.7em;">[<a href="{% url "helios.views.one_election_view" election.uuid %}">back to election</a>]</span></h2>
 
 <p>
 You have uploaded a file of voters. The first few rows of this file are:
@@ -23,7 +23,7 @@ HOLD ON:<br />
 </p>
 <br />
 
-<a href="{% url helios.views.voters_upload_cancel election.uuid %}">never mind, upload a different file</a>
+<a href="{% url "helios.views.voters_upload_cancel" election.uuid %}">never mind, upload a different file</a>
 </p>
 
 {% else %}
@@ -34,7 +34,7 @@ HOLD ON:<br />
   <input type="submit" value="Yes, let's go" />
 </form>
 
-<a href="{% url helios.views.voters_upload_cancel election.uuid %}">no, let me upload a different file</a>
+<a href="{% url "helios.views.voters_upload_cancel" election.uuid %}">no, let me upload a different file</a>
 
 {% endif %}
 
diff --git a/helios_auth/templates/index.html b/helios_auth/templates/index.html
index 604c370..f16a7b8 100644
--- a/helios_auth/templates/index.html
+++ b/helios_auth/templates/index.html
@@ -8,7 +8,7 @@
     You are currently logged in as<br /><b>{{user.user_id}}</b> via <b>{{user.user_type}}</b>.
 </p>
 <p>
-    <a href="{% url helios_auth.views.logout %}">logout</a>
+    <a href="{% url "helios_auth.views.logout" %}">logout</a>
 </p>
 
 {% else %}
diff --git a/server_ui/templates/confirm.html b/server_ui/templates/confirm.html
index fc33ce7..d98f65f 100644
--- a/server_ui/templates/confirm.html
+++ b/server_ui/templates/confirm.html
@@ -38,7 +38,7 @@ function show_waiting() {
 </form>
 
 <p>
-    Forgot your password? <a href="{% url helios_auth.auth_systems.password.password_forgotten_view %}?return_url={% url server_ui.views.cast_confirm %}">Have it emailed to you</a>.<br />(don't worry, we won't forget your vote).
+    Forgot your password? <a href="{% url "helios_auth.auth_systems.password.password_forgotten_view" %}?return_url={% url "server_ui.views.cast_confirm" %}">Have it emailed to you</a>.<br />(don't worry, we won't forget your vote).
 </p>
 </div>
 
diff --git a/server_ui/templates/done.html b/server_ui/templates/done.html
index f1bce76..47ff73f 100644
--- a/server_ui/templates/done.html
+++ b/server_ui/templates/done.html
@@ -11,7 +11,7 @@
 </p>
 
 <p>
-    Visit the <a href="{% url helios.views.one_election_view election.uuid %}">election homepage</a>.
+    Visit the <a href="{% url "helios.views.one_election_view" election.uuid %}">election homepage</a>.
 </p>
 
 {% endblock %}
diff --git a/server_ui/templates/election_tallied.html b/server_ui/templates/election_tallied.html
index c8e98d4..747e083 100644
--- a/server_ui/templates/election_tallied.html
+++ b/server_ui/templates/election_tallied.html
@@ -9,6 +9,6 @@
   </p>
   
   <p>
-      <a href="{% url helios.views.one_election_view election.uuid %}">view the election</a>
+      <a href="{% url "helios.views.one_election_view" election.uuid %}">view the election</a>
   </p>
 {% endblock %}
\ No newline at end of file
diff --git a/server_ui/templates/index.html b/server_ui/templates/index.html
index a2637ce..2b0a0e2 100644
--- a/server_ui/templates/index.html
+++ b/server_ui/templates/index.html
@@ -28,7 +28,7 @@ More than <b>100,000 votes</b> have been cast using Helios.
 </p>
 
 {% if create_p %}
-<a class="button" href="{% url helios.views.election_new %}">create an election</a>
+<a class="button" href="{% url "helios.views.election_new" %}">create an election</a>
 {% endif %}
 
   {% else %}
@@ -40,7 +40,7 @@ More than <b>100,000 votes</b> have been cast using Helios.
   <p>
     {% for election in elections %}
     <div class="panel">
-      <a style="font-size: 1.4em;" href="{% url helios.views.election_shortcut election.short_name %}">{{election.name}}</a>{% if settings.SHOW_USER_INFO %}<br /> by {{election.admin.display_html_small|safe}}{% endif %}
+      <a style="font-size: 1.4em;" href="{% url "helios.views.election_shortcut" election.short_name %}">{{election.name}}</a>{% if settings.SHOW_USER_INFO %}<br /> by {{election.admin.display_html_small|safe}}{% endif %}
     </div>
     <br />
     {% endfor %}
@@ -58,19 +58,19 @@ More than <b>100,000 votes</b> have been cast using Helios.
 {% if user %}
 <!--<div class="row right">{{user.display_html_big|safe}}</div>-->
 {% if create_p %}
-<a class="small button" href="{% url helios.views.election_new %}">create election</a>
+<a class="small button" href="{% url "helios.views.election_new" %}">create election</a>
 <h5 class="subheader">Administration</h5>
 {% if elections_administered %}
 <ul>
 {% for election in elections_administered %}
-<li> <a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></li>
+<li> <a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></li>
 {% endfor %}
 </ul>
 {% else %}
 <em>none yet</em>
 {% endif %}
 <div class="row right">
-<a class="tiny button" href="{% url helios.views.elections_administered %}">see all</a>
+<a class="tiny button" href="{% url "helios.views.elections_administered" %}">see all</a>
 </div>
 <div class="row"></div>
 {% endif %}
@@ -79,13 +79,13 @@ More than <b>100,000 votes</b> have been cast using Helios.
 {% if elections_voted %}
 <ul>
 {% for election in elections_voted %}
-<li><a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></li>
+<li><a href="{% url "helios.views.one_election_view" election.uuid %}">{{election.name}}</a></li>
 {% endfor %}
 </ul>
 {% else %}
 <em>none yet</em>
 {% endif %}
-<div class="row right"><a class="tiny button" href="{% url helios.views.elections_voted %}">see all</a></div>
+<div class="row right"><a class="tiny button" href="{% url "helios.views.elections_voted" %}">see all</a></div>
 <div class="row"></div>
 {% else %}
 {% if settings.SHOW_LOGIN_OPTIONS %}
-- 
GitLab