{% extends 'base.html' %} {# Eos - Verifiable elections Copyright © 2017-18 RunasSudo (Yingtong Li) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . #} {# Big tables on this page #} {% block mainContainerOpts %}style="max-width: 100% !important;"{% endblock %} {% block title %}{{ voter.name }} – {{ election.name }}{% endblock %} {% block content %}

{{ election.name }}

{{ election.kind|title }} fingerprint: {{ SHA256().update_obj(election).hash_as_b64() }}

{{ voter.name }}

Votes cast

{% if session.user and session.user.is_admin() %} {% else %} {% endif %} {% for vote in voter.votes.get_all() %} {% if session.user and session.user.is_admin() %} {% endif %} {% endfor %}
Cast at CommentClient Ballot fingerprint (Content/Actions )Ballot fingerprint (Content )
{{ vote.cast_at|pretty_date }} {% if vote.comment %}{{ vote.comment }}{% endif %} {% if vote.cast_ip %}{{ vote.cast_ip }}{% if vote.cast_fingerprint %}
{% endif %}{% endif %} {% if vote.cast_fingerprint %}{{ eos.core.hashing.SHA256().update_text(eos.core.objects.EosObject.to_json(vote.cast_fingerprint)).hash_as_b64(True) }}{% endif %}
{{ eos.core.hashing.SHA256().update_obj(vote.ballot).hash_as_b64() }}
{% if session.user and session.user.is_admin() %}{{ eos.core.objects.EosObject.to_json(eos.core.objects.EosObject.serialise_and_wrap(vote)) }}{% else %}{{ eos.core.objects.EosObject.to_json(eos.core.objects.EosObject.serialise_and_wrap(vote, options=eos.core.objects.SerialiseOptions(should_protect=True))) }}{% endif %}
{% endblock %} {% block basecontent %} {{ super() }} {% endblock %}