fix yes-no-abstain-poll in assigmnet-projector

This commit is contained in:
Oskar Hahn 2012-07-02 20:32:13 +02:00
parent ebc81d9236
commit a21a96026b
2 changed files with 30 additions and 21 deletions

View File

@ -113,9 +113,13 @@ class Assignment(models.Model, SlideMixin):
publish_winner_results_only = config["assignment_publish_winner_results_only"]
# list of votes
votes = []
for candidate in self.candidates:
options = []
polls = self.poll_set.all()
for poll in polls:
options += poll.get_options()
for candidate in set([option.candidate for option in options]):
tmplist = [[candidate, self.is_elected(candidate)], []]
for poll in self.poll_set.all():
for poll in polls:
if poll.published:
if poll.get_options().filter(candidate=candidate).exists():
# check config option 'publish_winner_results_only'
@ -123,7 +127,7 @@ class Assignment(models.Model, SlideMixin):
or publish_winner_results_only and self.is_elected(candidate):
option = AssignmentOption.objects.filter(poll=poll).get(candidate=candidate)
try:
tmplist[1].append(option.get_votes()[0])
tmplist[1].append(option.get_votes())
except IndexError:
tmplist[1].append('')
else:

View File

@ -46,7 +46,7 @@
<p><br></p>
{% endif %}
{% if polls.count > 0 %}
{% if polls.exists %}
<h3>{% trans "Election results" %}</h3>
<table>
<tr>
@ -60,25 +60,30 @@
{% for vote in votes %}
<tr class="{% cycle 'odd' '' %}">
{% with vote|first as candidate %}
<td class="candidate {% if candidate.1 %}elected{% endif %}">
{% if candidate.1 %}
<a class="elected"><img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Candidate is elected' %}"></a>
{% endif %}
{{ candidate.0 }}
</td>
{% for v in vote|last %}
<td style="white-space:nowrap;" {% if candidate.1 %}class="elected"{% endif %}>{% if v %}
{% if v|length == 3 %}
<img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Yes' %}"> {% if v.0 %}{{ v.0 }}{% else %}&empty;{% endif %}<br>
<img src="{% static 'images/icons/voting-no.png' %}" title="{% trans 'No' %}"> {% if v.1 %}{{ v.1 }}{% else %}&empty;{% endif %}<br>
<img src="{% static 'images/icons/voting-abstention.png' %}" title="{% trans 'Abstention' %}"> {% if v.2 %}{{ v.2 }}{% else %}&empty;{% endif %}<br>
{% else %}
{% if v != "-" %}<img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Yes' %}">{% endif %}
{{ v }}
<td class="candidate{% if candidate.1 %} elected{% endif %}">
{% if candidate.1 %}
<a class="elected">
<img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Candidate is elected' %}">
</a>
{% endif %}
{{ candidate.0 }}
</td>
{% for v in vote|last %}
<td style="white-space:nowrap;" {% if candidate.1 %}class="elected"{% endif %}>
{% if v %}
{% if v|length == 3 %}
<img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Yes' %}"> {% if v.0 %}{{ v.0 }}{% else %}&empty;{% endif %}<br>
<img src="{% static 'images/icons/voting-no.png' %}" title="{% trans 'No' %}"> {% if v.1 %}{{ v.1 }}{% else %}&empty;{% endif %}<br>
<img src="{% static 'images/icons/voting-abstention.png' %}" title="{% trans 'Abstention' %}"> {% if v.2 %}{{ v.2 }}{% else %}&empty;{% endif %}<br>
{% else %}
{% if v != "-" %}
<img src="{% static 'images/icons/voting-yes.png' %}" title="{% trans 'Yes' %}">
{% endif %}
{{ v.0 }}
{% endif %}
{% endif %}
</td>
{% endfor %}
</td>
{% endfor %}
{% endwith %}
</tr>
{% empty %}