<% candidates = @election.candidates.sort.collect {|candidate| candidate.id}-%>
<% voters = @election.voters.size %>
-
+ <% matrix = @election.condorcet_result.matrix %>
<% names = Hash.new -%>
<% candidates.each do |candidate| -%>
<%names[candidate] = Candidate.find(candidate).name -%>
<tr>
<td> </td>
<% candidates.each do |candidate| -%>
- <th><%= names[candidate] -%></th>
- <% end -%>
+ <th><%=h names[candidate] -%></th>
+ <% end -%>
+</tr>
+
<% candidates.each do |winner| -%>
<tr>
- <th><%= names[winner] %></th>
+ <th><%=h names[winner] %></th>
<% candidates.each do |loser| -%>
<% if winner == loser -%>
<td> -- </td>
- <% else %>
- <td><% wins = @election.condorcet_result.matrix[winner][loser]%>
- <%=h wins %>
+ <% else %>
+ <td><% wins = matrix[winner][loser] unless matrix[winner].nil?%>
+ <%= wins %>
<%= sparkline_tag [(wins.to_f/voters.to_f)*100.0], :type => 'pie',
:diameter => 25, :share_color => '#74ce00' %>
</td>
<% end -%>
</tr>
<% end -%>
-
+</table>
<% if @election.shortdesc %>
<p><strong>Description:</strong></p>
- <blockquote><em><%= @election.shortdesc %></em>
+ <blockquote><em><%=h @election.shortdesc %></em>
<% if @election.longdesc -%>
<br />
<%= h(@election.longdesc) -%>
<ol>
<% for candidate in @election.candidates.sort %>
- <li><%= candidate.name.capitalize %></li>
+ <li><%=h candidate.name.capitalize %></li>
<% end %>
</ol>
<h3>Schulze Method Results</h3>
<%= render :partial => 'result', :object => @election.ssd_result %>
-<div class="rbmoreinfo"
+<div class="rbmoreinfo">
<h4>About the Schulze Method</h4>
<p>The <%= link_to "Schulze method",
<h3>Plurality Results</h3>
<%= render :partial => 'result', :object => @election.plurality_result %>
-<div class="rbmoreinfo"
+<div class="rbmoreinfo">
<h4>About Plurality Voting</h4>
<p><%= link_to "Plurality voting",
<p><font size="-1">(This algorithm assumes that top two choices are "approved.")</font></p>
<%= render :partial => 'result', :object => @election.approval_result %>
-<div class="rbmoreinfo"
+<div class="rbmoreinfo">
<h4>About Approval Voting</h4>
<p><%= link_to "Approval voting",
<h3>Simple Condorcet Results</h3>
<%= render :partial => 'result', :object => @election.condorcet_result %>
-<div class="rbmoreinfo"
+<div class="rbmoreinfo">
<h4>About Simple Cordorcet Voting</h4>
<p><%= link_to "Condorcet",
<h3>Borda Count Results</h3>
<%= render :partial => 'result', :object => @election.borda_result %>
-<div class="rbmoreinfo"
+<div class="rbmoreinfo">
<h4>About Borda Count</h4>
<p><%= link_to "Borda count",
<div class="resultbox">
<h3>Instant Runoff (IRV) Results</h3>
-<div class="rbmoreinfo"
+<div class="rbmoreinfo">
<h4>About Instant Runoff Voting</h4>
<p><%= link_to "Instant runoff voting",
<% raise ArgumentError.new, "Local Server" if voter.ipaddress == "127.0.0.1" %>
<% raise ArgumentError.new, "XML-RPC Voter" if voter.ipaddress == "XMLRPC Request" %>
<% w= Whois::Whois.new(IPAddr.new(voter.ipaddress).to_s,true)%>
- <%=(w.host == nil or w.host.empty?) ? voter.ipaddress : w.host%>
+ <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%>
</td>
<td>
<%w.search_whois%>
- <%= (w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip -%> - <%= (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
+ <%=h (w.all.grep(/^(OrgName|org-name)/)[0] or "").sub(/^(OrgName|org-name)\:/,'').strip -%> - <%= (w.all.grep(/^(NetName|netname)/)[0] or "").sub(/^(NetName|netname)\:/,'').strip %>
<% rescue ArgumentError => err %>
- <%= err %>
+ <%=h err %>
</td>
- <td><%= err%>
+ <td><%=h err%>
<% end %>
</td>
<td><%= voter.vote.votestring %></td>
<%= render :partial => 'victories_ties' %>
<%= render :partial => 'pref_table' %>
- <%= image_tag( graph_url( :action => 'votes_per_day', :id => @election ) ) %><br />
- <%= image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%><br />
+ <%=image_tag( graph_url( :action => 'votes_per_interval', :id => @election ))%>
+ <br />
<%= image_tag( graph_url( :action => 'borda_bar', :id => @election ) ) %><br />
<%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %>