]> projects.mako.cc - selectricity-live/blob - app/views/quickvote/list_voters.rhtml
795ab4507fc41d9e14a8776ba90b512eb21f7a70
[selectricity-live] / app / views / quickvote / list_voters.rhtml
1 <%= GMap.header %> 
2
3 <div id="title-header">
4     <span class="header">Quickvote</span>
5       <span class="subheader">Voters</span>
6     </div>
7     
8   <div class="clear-div"></div>
9 <%= @map.to_html %>  
10 <%= @map.div(:width => 550, :height => 400) %> 
11 <br><br>
12 <table class="voterbox">
13 <tr>
14 <th>IP/Host</th>
15 <th>Organization Name</th>
16 </tr>
17 <% for voter in @election.voters %>
18   <% next unless voter.voted? %>
19   <tr>
20     <td><% begin %>
21         <% raise ArgumentError.new, "Local Server" if voter.ipaddress == "127.0.0.1" %>
22         <% raise ArgumentError.new, "XML-RPC Voter" if voter.ipaddress == "XMLRPC Request" %>
23         <% # Test for intranet addresses to avoid untimely DNS timeouts.
24            # Of course the last regex is horrible; matches a few extra IP's that aren't intranet
25           raise ArgumentError.new, "Intranet: #{voter.ipaddress}" if voter.ipaddress =~
26             /^192\.168/ or voter.ipaddress =~ /^10\./ or voter.ipaddress =~ /^169\.254/ or
27             voter.ipaddress =~ /^172\.[1-3]/
28             %>
29         <% w= Whois::Whois.new(IPAddr.new(voter.ipaddress),true)%>
30         <%=h((w.host == nil or w.host.empty?) ? voter.ipaddress : w.host)%>
31       </td>
32       <td>
33         <%w.search_whois%>
34         <%=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 %>
35
36     <% rescue ArgumentError => err %>
37       <%=h err %>
38     </td>
39     <td><%=h err%>
40     <% rescue NoMethodError %>
41       DNS Unreachable
42     </td>
43     <td> DNS Unreachable
44     <% end %>
45     </td>
46   </tr>
47 <% end %>
48 </table>
49

Benjamin Mako Hill || Want to submit a patch?