diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2024-03-01 13:55:25 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2024-12-21 19:43:13 +0200 |
| commit | ef8c2c576043330a7a22d9549284003e57c284bb (patch) | |
| tree | 187b131cb0c9441ce7dbfde7b65b6378ae216d98 /templates | |
| parent | e348c0f2a6941810060b4add3dce7080175ad749 (diff) | |
Add possibility to manage own vote
Diffstat (limited to 'templates')
| -rw-r--r-- | templates/poll.html.j2 | 23 | ||||
| -rw-r--r-- | templates/poll_vote_list.html.j2 | 23 | ||||
| -rw-r--r-- | templates/poll_vote_table.html.j2 | 19 |
3 files changed, 52 insertions, 13 deletions
diff --git a/templates/poll.html.j2 b/templates/poll.html.j2 index e0ede1f..1661b79 100644 --- a/templates/poll.html.j2 +++ b/templates/poll.html.j2 @@ -21,14 +21,23 @@ </form> </div> -<form action="/poll/{{ poll.id }}/vote" method="post"> - {% if display_mode == "table" %} - {% include "poll_vote_table.html.j2" %} - {% else %} - {% include "poll_vote_list.html.j2" %} - {% endif %} -</form> + +{% if display_mode == "table" %} +{% include "poll_vote_table.html.j2" %} +{% else %} +{% include "poll_vote_list.html.j2" %} {% endif %} +<script> + const query = new URLSearchParams(window.location.search); + const prefill_voter_name = query.get("prefill_voter_name"); + if (prefill_voter_name !== null) { + document.querySelector("input[name=voter_name]").focus() + document.querySelector("input[name=voter_name]").select(); + query.delete("prefill_voter_name"); + history.replaceState(null, "", window.location.pathname + (query.toString() ? "?" + query.toString() : "")); + } + </script> +{% endif %} {% endblock %} diff --git a/templates/poll_vote_list.html.j2 b/templates/poll_vote_list.html.j2 index 9d3a15c..ef09af4 100644 --- a/templates/poll_vote_list.html.j2 +++ b/templates/poll_vote_list.html.j2 @@ -23,8 +23,25 @@ </div> <div> - <label for="voter_name" hidden>Your name</label> - <input type="text" name="voter_name" placeholder="Your name" required> - <input class="green" type="submit" value="Submit"> + <form action="/poll/{{ poll.id }}/vote" method="post"> + <label for="voter_name" hidden>Your name</label> + <input type="text" name="voter_name" placeholder="Your name" required + {% if prefill_voter_name %}value="{{ prefill_voter_name }}"{% endif %}> + <input class="green" type="submit" value="Submit"> + </form> </div> +{% if managed_voter_names | length != 0 %} +<br> +<br> +<h3>Remove submission(s)</h3> +{% endif %} +<div> + {% for voter_name in managed_voter_names %} + <form action="/poll/{{ poll.id }}/delete_voter" method="post"> + <input type="hidden" name="voter_code" value="{{ managed_voter_names[voter_name] }}"> + {{ voter_name }} + <input class="delete-voter-btn" type="submit" value="❌"> + </form> + {% endfor %} +</div>
\ No newline at end of file diff --git a/templates/poll_vote_table.html.j2 b/templates/poll_vote_table.html.j2 index a7aa434..440f2b7 100644 --- a/templates/poll_vote_table.html.j2 +++ b/templates/poll_vote_table.html.j2 @@ -12,7 +12,17 @@ </tr> {% for voter_name in voter_names %} <tr> - <td>{{ voter_name }}</td> + <td> + {% if voter_name in managed_voter_names %} + <form action="/poll/{{ poll.id }}/delete_voter" method="post"> + <input type="hidden" name="voter_code" value="{{ managed_voter_names[voter_name] }}"> + {{ voter_name }} + <input class="delete-voter-btn" type="submit" value="❌"> + </form> + {% else %} + {{ voter_name }} + {% endif %} + </td> {% for choice in choices %} {% if selections[(voter_name, choice.id)] == 1 %} <td> @@ -32,10 +42,13 @@ {% endfor %} <!-- Add a row for the current user --> + <form action="/poll/{{ poll.id }}/vote" method="post"> <tr> <td> <label for="voter_name" hidden>Your name</label> - <input type="text" name="voter_name" placeholder="Your name" required> + <input type="text" name="voter_name" placeholder="Your name" required + {% if prefill_voter_name %}value="{{ prefill_voter_name }}"{% endif %}> + <input class="green" type="submit" value="Submit"> </td> {% for choice in choices %} <td> @@ -43,7 +56,7 @@ </td> {% endfor %} </tr> + </form> <!-- End of the row for the current user --> </table> -<input class="green" type="submit" value="Submit"> |
