a2da83de7c7fee449e26c3ccc46b4d0e0fe51d8a
[selectricity] / app / views / quickvote / results.rhtml
1 <% require 'whois/whois' %>
2
3 <div id="page-title">
4   <span class="header">Quickvote</span>
5   <span class="subheader">Results</span>
6 </div>
7
8 <% if @election.shortdesc %>
9   <p><strong>Vote Description:</strong></p>
10   <blockquote><em><%=h @election.shortdesc %></em>
11     <% if @election.longdesc -%>
12       <br />
13       <%= h(@election.longdesc) -%>
14     <% end -%>
15   </blockquote>
16 <% end %>
17
18 <p><strong>Candidates/choices:</strong></p>
19
20 <ol>
21   <% for candidate in @election.candidates.sort %>
22     <li><%=h candidate.name.capitalize %></li>
23   <% end %>
24 </ol>
25
26 <p><strong>Number of voters:</strong></p>
27    <blockquote>
28      <%= @election.voters.reject {|v| not v.voted? }.length %> (see below for details) 
29    </blockquote>
30
31 <div class="plain-header">
32   <span class="header">Winner</span>
33   <span class="subheader"></span>
34 </div>
35
36 <div class="mainresultbox">
37 <%= render :partial => 'result_' + @election.election_method,
38            :object => @results[@election.election_method] %>
39 </div>
40
41 <div class="plain-header">
42   <span class="header">Other Voting Methods</span>
43   <span class="subheader"></span>
44 </div>
45
46 <% for result_type in @election.other_methods %>
47 <div class="resultbox">
48 <%= render :partial => 'result_' + result_type, 
49            :object => @results[result_type] %>
50 </div>
51 <% end %>
52
53
54 <div class="clear-div"></div>
55
56 <h2>Voters <%= link_to "[Stalk Voters]", :controller => "quickvote", :action => "mapvoters", :id => @election.id %></h2>
57 <table class="voterbox">
58 <tr>
59 <th>IP/Host</th>
60 <th>Origin</th>
61 <th>Vote</th>
62 </tr>
63 <% for voter in @election.voters %>
64   <% next unless voter.voted? %>
65   <tr>
66     <td><% begin %>
67         <% raise ArgumentError.new, "Local Server" if voter.ipaddress == "127.0.0.1" %>
68         <% raise ArgumentError.new, "XML-RPC Voter" if voter.ipaddress == "XMLRPC Request" %>
69         <% w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)%>
70         <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%>
71       </td>
72       <td>
73         <%w.search_whois%>
74         <%=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 %>
75     
76     <% rescue ArgumentError => err %>
77       <%=h err %>
78     </td>
79     <td><%=h err%>
80     <% rescue NoMethodError %>
81       DNS Unreachable
82     </td>
83     <td> DNS Unreachable
84     <% end %>
85     </td>
86   <td><%= voter.vote.votestring %></td>
87   </tr>
88 <% end %>
89 </table>
90
91 <br />
92
93 <!--
94 <%= image_tag( graph_url( :action => 'choices_positions', :id => @election ) ) %><br />
95 -->
96

Benjamin Mako Hill || Want to submit a patch?